#pragma warning( disable: 4049 )  /* more than 64k source lines *//* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* File created by MIDL compiler version 6.00.0347 *//* Compiler settings for strmif.idl:    Oicf, W1, Zp8, env=Win32 (32b run)    protocol : dce , ms_ext, c_ext, robust    error checks: allocation ref bounds_check enum stub_data    VC __declspec() decoration level:         __declspec(uuid()), __declspec(selectany), __declspec(novtable)         DECLSPEC_UUID(), MIDL_INTERFACE()*///@@MIDL_FILE_HEADING(  )/* verify that the <rpcndr.h> version is high enough to compile this file*/#ifndef __REQUIRED_RPCNDR_H_VERSION__#define __REQUIRED_RPCNDR_H_VERSION__ 475#endif#include "rpc.h"#include "rpcndr.h"#ifndef __RPCNDR_H_VERSION__#error this stub requires an updated version of <rpcndr.h>#endif // __RPCNDR_H_VERSION__#ifndef COM_NO_WINDOWS_H#include "windows.h"#include "ole2.h"#endif /*COM_NO_WINDOWS_H*/#ifndef __strmif_h__#define __strmif_h__#if defined(_MSC_VER) && (_MSC_VER >= 1020)#pragma once#endif/* Forward Declarations */#ifndef __ICreateDevEnum_FWD_DEFINED__#define __ICreateDevEnum_FWD_DEFINED__typedef interface ICreateDevEnum ICreateDevEnum;#endif 	/* __ICreateDevEnum_FWD_DEFINED__ */#ifndef __IPin_FWD_DEFINED__#define __IPin_FWD_DEFINED__typedef interface IPin IPin;#endif 	/* __IPin_FWD_DEFINED__ */#ifndef __IEnumPins_FWD_DEFINED__#define __IEnumPins_FWD_DEFINED__typedef interface IEnumPins IEnumPins;#endif 	/* __IEnumPins_FWD_DEFINED__ */#ifndef __IEnumMediaTypes_FWD_DEFINED__#define __IEnumMediaTypes_FWD_DEFINED__typedef interface IEnumMediaTypes IEnumMediaTypes;#endif 	/* __IEnumMediaTypes_FWD_DEFINED__ */#ifndef __IFilterGraph_FWD_DEFINED__#define __IFilterGraph_FWD_DEFINED__typedef interface IFilterGraph IFilterGraph;#endif 	/* __IFilterGraph_FWD_DEFINED__ */#ifndef __IEnumFilters_FWD_DEFINED__#define __IEnumFilters_FWD_DEFINED__typedef interface IEnumFilters IEnumFilters;#endif 	/* __IEnumFilters_FWD_DEFINED__ */#ifndef __IMediaFilter_FWD_DEFINED__#define __IMediaFilter_FWD_DEFINED__typedef interface IMediaFilter IMediaFilter;#endif 	/* __IMediaFilter_FWD_DEFINED__ */#ifndef __IBaseFilter_FWD_DEFINED__#define __IBaseFilter_FWD_DEFINED__typedef interface IBaseFilter IBaseFilter;#endif 	/* __IBaseFilter_FWD_DEFINED__ */#ifndef __IReferenceClock_FWD_DEFINED__#define __IReferenceClock_FWD_DEFINED__typedef interface IReferenceClock IReferenceClock;#endif 	/* __IReferenceClock_FWD_DEFINED__ */#ifndef __IReferenceClock2_FWD_DEFINED__#define __IReferenceClock2_FWD_DEFINED__typedef interface IReferenceClock2 IReferenceClock2;#endif 	/* __IReferenceClock2_FWD_DEFINED__ */#ifndef __IMediaSample_FWD_DEFINED__#define __IMediaSample_FWD_DEFINED__typedef interface IMediaSample IMediaSample;#endif 	/* __IMediaSample_FWD_DEFINED__ */#ifndef __IMediaSample2_FWD_DEFINED__#define __IMediaSample2_FWD_DEFINED__typedef interface IMediaSample2 IMediaSample2;#endif 	/* __IMediaSample2_FWD_DEFINED__ */#ifndef __IMemAllocator_FWD_DEFINED__#define __IMemAllocator_FWD_DEFINED__typedef interface IMemAllocator IMemAllocator;#endif 	/* __IMemAllocator_FWD_DEFINED__ */#ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__#define __IMemAllocatorCallbackTemp_FWD_DEFINED__typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;#endif 	/* __IMemAllocatorCallbackTemp_FWD_DEFINED__ */#ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__#define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;#endif 	/* __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ */#ifndef __IMemInputPin_FWD_DEFINED__#define __IMemInputPin_FWD_DEFINED__typedef interface IMemInputPin IMemInputPin;#endif 	/* __IMemInputPin_FWD_DEFINED__ */#ifndef __IAMovieSetup_FWD_DEFINED__#define __IAMovieSetup_FWD_DEFINED__typedef interface IAMovieSetup IAMovieSetup;#endif 	/* __IAMovieSetup_FWD_DEFINED__ */#ifndef __IMediaSeeking_FWD_DEFINED__#define __IMediaSeeking_FWD_DEFINED__typedef interface IMediaSeeking IMediaSeeking;#endif 	/* __IMediaSeeking_FWD_DEFINED__ */#ifndef __IEnumRegFilters_FWD_DEFINED__#define __IEnumRegFilters_FWD_DEFINED__typedef interface IEnumRegFilters IEnumRegFilters;#endif 	/* __IEnumRegFilters_FWD_DEFINED__ */#ifndef __IFilterMapper_FWD_DEFINED__#define __IFilterMapper_FWD_DEFINED__typedef interface IFilterMapper IFilterMapper;#endif 	/* __IFilterMapper_FWD_DEFINED__ */#ifndef __IFilterMapper2_FWD_DEFINED__#define __IFilterMapper2_FWD_DEFINED__typedef interface IFilterMapper2 IFilterMapper2;#endif 	/* __IFilterMapper2_FWD_DEFINED__ */#ifndef __IFilterMapper3_FWD_DEFINED__#define __IFilterMapper3_FWD_DEFINED__typedef interface IFilterMapper3 IFilterMapper3;#endif 	/* __IFilterMapper3_FWD_DEFINED__ */#ifndef __IQualityControl_FWD_DEFINED__#define __IQualityControl_FWD_DEFINED__typedef interface IQualityControl IQualityControl;#endif 	/* __IQualityControl_FWD_DEFINED__ */#ifndef __IOverlayNotify_FWD_DEFINED__#define __IOverlayNotify_FWD_DEFINED__typedef interface IOverlayNotify IOverlayNotify;#endif 	/* __IOverlayNotify_FWD_DEFINED__ */#ifndef __IOverlayNotify2_FWD_DEFINED__#define __IOverlayNotify2_FWD_DEFINED__typedef interface IOverlayNotify2 IOverlayNotify2;#endif 	/* __IOverlayNotify2_FWD_DEFINED__ */#ifndef __IOverlay_FWD_DEFINED__#define __IOverlay_FWD_DEFINED__typedef interface IOverlay IOverlay;#endif 	/* __IOverlay_FWD_DEFINED__ */#ifndef __IMediaEventSink_FWD_DEFINED__#define __IMediaEventSink_FWD_DEFINED__typedef interface IMediaEventSink IMediaEventSink;#endif 	/* __IMediaEventSink_FWD_DEFINED__ */#ifndef __IFileSourceFilter_FWD_DEFINED__#define __IFileSourceFilter_FWD_DEFINED__typedef interface IFileSourceFilter IFileSourceFilter;#endif 	/* __IFileSourceFilter_FWD_DEFINED__ */#ifndef __IFileSinkFilter_FWD_DEFINED__#define __IFileSinkFilter_FWD_DEFINED__typedef interface IFileSinkFilter IFileSinkFilter;#endif 	/* __IFileSinkFilter_FWD_DEFINED__ */#ifndef __IFileSinkFilter2_FWD_DEFINED__#define __IFileSinkFilter2_FWD_DEFINED__typedef interface IFileSinkFilter2 IFileSinkFilter2;#endif 	/* __IFileSinkFilter2_FWD_DEFINED__ */#ifndef __IGraphBuilder_FWD_DEFINED__#define __IGraphBuilder_FWD_DEFINED__typedef interface IGraphBuilder IGraphBuilder;#endif 	/* __IGraphBuilder_FWD_DEFINED__ */#ifndef __ICaptureGraphBuilder_FWD_DEFINED__#define __ICaptureGraphBuilder_FWD_DEFINED__typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;#endif 	/* __ICaptureGraphBuilder_FWD_DEFINED__ */#ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__#define __IAMCopyCaptureFileProgress_FWD_DEFINED__typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;#endif 	/* __IAMCopyCaptureFileProgress_FWD_DEFINED__ */#ifndef __ICaptureGraphBuilder2_FWD_DEFINED__#define __ICaptureGraphBuilder2_FWD_DEFINED__typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;#endif 	/* __ICaptureGraphBuilder2_FWD_DEFINED__ */#ifndef __IFilterGraph2_FWD_DEFINED__#define __IFilterGraph2_FWD_DEFINED__typedef interface IFilterGraph2 IFilterGraph2;#endif 	/* __IFilterGraph2_FWD_DEFINED__ */#ifndef __IStreamBuilder_FWD_DEFINED__#define __IStreamBuilder_FWD_DEFINED__typedef interface IStreamBuilder IStreamBuilder;#endif 	/* __IStreamBuilder_FWD_DEFINED__ */#ifndef __IAsyncReader_FWD_DEFINED__#define __IAsyncReader_FWD_DEFINED__typedef interface IAsyncReader IAsyncReader;#endif 	/* __IAsyncReader_FWD_DEFINED__ */#ifndef __IGraphVersion_FWD_DEFINED__#define __IGraphVersion_FWD_DEFINED__typedef interface IGraphVersion IGraphVersion;#endif 	/* __IGraphVersion_FWD_DEFINED__ */#ifndef __IResourceConsumer_FWD_DEFINED__#define __IResourceConsumer_FWD_DEFINED__typedef interface IResourceConsumer IResourceConsumer;#endif 	/* __IResourceConsumer_FWD_DEFINED__ */#ifndef __IResourceManager_FWD_DEFINED__#define __IResourceManager_FWD_DEFINED__typedef interface IResourceManager IResourceManager;#endif 	/* __IResourceManager_FWD_DEFINED__ */#ifndef __IDistributorNotify_FWD_DEFINED__#define __IDistributorNotify_FWD_DEFINED__typedef interface IDistributorNotify IDistributorNotify;#endif 	/* __IDistributorNotify_FWD_DEFINED__ */#ifndef __IAMStreamControl_FWD_DEFINED__#define __IAMStreamControl_FWD_DEFINED__typedef interface IAMStreamControl IAMStreamControl;#endif 	/* __IAMStreamControl_FWD_DEFINED__ */#ifndef __ISeekingPassThru_FWD_DEFINED__#define __ISeekingPassThru_FWD_DEFINED__typedef interface ISeekingPassThru ISeekingPassThru;#endif 	/* __ISeekingPassThru_FWD_DEFINED__ */#ifndef __IAMStreamConfig_FWD_DEFINED__#define __IAMStreamConfig_FWD_DEFINED__typedef interface IAMStreamConfig IAMStreamConfig;#endif 	/* __IAMStreamConfig_FWD_DEFINED__ */#ifndef __IConfigInterleaving_FWD_DEFINED__#define __IConfigInterleaving_FWD_DEFINED__typedef interface IConfigInterleaving IConfigInterleaving;#endif 	/* __IConfigInterleaving_FWD_DEFINED__ */#ifndef __IConfigAviMux_FWD_DEFINED__#define __IConfigAviMux_FWD_DEFINED__typedef interface IConfigAviMux IConfigAviMux;#endif 	/* __IConfigAviMux_FWD_DEFINED__ */#ifndef __IAMVideoCompression_FWD_DEFINED__#define __IAMVideoCompression_FWD_DEFINED__typedef interface IAMVideoCompression IAMVideoCompression;#endif 	/* __IAMVideoCompression_FWD_DEFINED__ */#ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__#define __IAMVfwCaptureDialogs_FWD_DEFINED__typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;#endif 	/* __IAMVfwCaptureDialogs_FWD_DEFINED__ */#ifndef __IAMVfwCompressDialogs_FWD_DEFINED__#define __IAMVfwCompressDialogs_FWD_DEFINED__typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;#endif 	/* __IAMVfwCompressDialogs_FWD_DEFINED__ */#ifndef __IAMDroppedFrames_FWD_DEFINED__#define __IAMDroppedFrames_FWD_DEFINED__typedef interface IAMDroppedFrames IAMDroppedFrames;#endif 	/* __IAMDroppedFrames_FWD_DEFINED__ */#ifndef __IAMAudioInputMixer_FWD_DEFINED__#define __IAMAudioInputMixer_FWD_DEFINED__typedef interface IAMAudioInputMixer IAMAudioInputMixer;#endif 	/* __IAMAudioInputMixer_FWD_DEFINED__ */#ifndef __IAMBufferNegotiation_FWD_DEFINED__#define __IAMBufferNegotiation_FWD_DEFINED__typedef interface IAMBufferNegotiation IAMBufferNegotiation;#endif 	/* __IAMBufferNegotiation_FWD_DEFINED__ */#ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__#define __IAMAnalogVideoDecoder_FWD_DEFINED__typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;#endif 	/* __IAMAnalogVideoDecoder_FWD_DEFINED__ */#ifndef __IAMVideoProcAmp_FWD_DEFINED__#define __IAMVideoProcAmp_FWD_DEFINED__typedef interface IAMVideoProcAmp IAMVideoProcAmp;#endif 	/* __IAMVideoProcAmp_FWD_DEFINED__ */#ifndef __IAMCameraControl_FWD_DEFINED__#define __IAMCameraControl_FWD_DEFINED__typedef interface IAMCameraControl IAMCameraControl;#endif 	/* __IAMCameraControl_FWD_DEFINED__ */#ifndef __IAMVideoControl_FWD_DEFINED__#define __IAMVideoControl_FWD_DEFINED__typedef interface IAMVideoControl IAMVideoControl;#endif 	/* __IAMVideoControl_FWD_DEFINED__ */#ifndef __IAMCrossbar_FWD_DEFINED__#define __IAMCrossbar_FWD_DEFINED__typedef interface IAMCrossbar IAMCrossbar;#endif 	/* __IAMCrossbar_FWD_DEFINED__ */#ifndef __IAMTuner_FWD_DEFINED__#define __IAMTuner_FWD_DEFINED__typedef interface IAMTuner IAMTuner;#endif 	/* __IAMTuner_FWD_DEFINED__ */#ifndef __IAMTunerNotification_FWD_DEFINED__#define __IAMTunerNotification_FWD_DEFINED__typedef interface IAMTunerNotification IAMTunerNotification;#endif 	/* __IAMTunerNotification_FWD_DEFINED__ */#ifndef __IAMTVTuner_FWD_DEFINED__#define __IAMTVTuner_FWD_DEFINED__typedef interface IAMTVTuner IAMTVTuner;#endif 	/* __IAMTVTuner_FWD_DEFINED__ */#ifndef __IBPCSatelliteTuner_FWD_DEFINED__#define __IBPCSatelliteTuner_FWD_DEFINED__typedef interface IBPCSatelliteTuner IBPCSatelliteTuner;#endif 	/* __IBPCSatelliteTuner_FWD_DEFINED__ */#ifndef __IAMTVAudio_FWD_DEFINED__#define __IAMTVAudio_FWD_DEFINED__typedef interface IAMTVAudio IAMTVAudio;#endif 	/* __IAMTVAudio_FWD_DEFINED__ */#ifndef __IAMTVAudioNotification_FWD_DEFINED__#define __IAMTVAudioNotification_FWD_DEFINED__typedef interface IAMTVAudioNotification IAMTVAudioNotification;#endif 	/* __IAMTVAudioNotification_FWD_DEFINED__ */#ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__#define __IAMAnalogVideoEncoder_FWD_DEFINED__typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;#endif 	/* __IAMAnalogVideoEncoder_FWD_DEFINED__ */#ifndef __IKsPropertySet_FWD_DEFINED__#define __IKsPropertySet_FWD_DEFINED__typedef interface IKsPropertySet IKsPropertySet;#endif 	/* __IKsPropertySet_FWD_DEFINED__ */#ifndef __IMediaPropertyBag_FWD_DEFINED__#define __IMediaPropertyBag_FWD_DEFINED__typedef interface IMediaPropertyBag IMediaPropertyBag;#endif 	/* __IMediaPropertyBag_FWD_DEFINED__ */#ifndef __IPersistMediaPropertyBag_FWD_DEFINED__#define __IPersistMediaPropertyBag_FWD_DEFINED__typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag;#endif 	/* __IPersistMediaPropertyBag_FWD_DEFINED__ */#ifndef __IAMPhysicalPinInfo_FWD_DEFINED__#define __IAMPhysicalPinInfo_FWD_DEFINED__typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;#endif 	/* __IAMPhysicalPinInfo_FWD_DEFINED__ */#ifndef __IAMExtDevice_FWD_DEFINED__#define __IAMExtDevice_FWD_DEFINED__typedef interface IAMExtDevice IAMExtDevice;#endif 	/* __IAMExtDevice_FWD_DEFINED__ */#ifndef __IAMExtTransport_FWD_DEFINED__#define __IAMExtTransport_FWD_DEFINED__typedef interface IAMExtTransport IAMExtTransport;#endif 	/* __IAMExtTransport_FWD_DEFINED__ */#ifndef __IAMTimecodeReader_FWD_DEFINED__#define __IAMTimecodeReader_FWD_DEFINED__typedef interface IAMTimecodeReader IAMTimecodeReader;#endif 	/* __IAMTimecodeReader_FWD_DEFINED__ */#ifndef __IAMTimecodeGenerator_FWD_DEFINED__#define __IAMTimecodeGenerator_FWD_DEFINED__typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;#endif 	/* __IAMTimecodeGenerator_FWD_DEFINED__ */#ifndef __IAMTimecodeDisplay_FWD_DEFINED__#define __IAMTimecodeDisplay_FWD_DEFINED__typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;#endif 	/* __IAMTimecodeDisplay_FWD_DEFINED__ */#ifndef __IAMDevMemoryAllocator_FWD_DEFINED__#define __IAMDevMemoryAllocator_FWD_DEFINED__typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;#endif 	/* __IAMDevMemoryAllocator_FWD_DEFINED__ */#ifndef __IAMDevMemoryControl_FWD_DEFINED__#define __IAMDevMemoryControl_FWD_DEFINED__typedef interface IAMDevMemoryControl IAMDevMemoryControl;#endif 	/* __IAMDevMemoryControl_FWD_DEFINED__ */#ifndef __IAMStreamSelect_FWD_DEFINED__#define __IAMStreamSelect_FWD_DEFINED__typedef interface IAMStreamSelect IAMStreamSelect;#endif 	/* __IAMStreamSelect_FWD_DEFINED__ */#ifndef __IAMResourceControl_FWD_DEFINED__#define __IAMResourceControl_FWD_DEFINED__typedef interface IAMResourceControl IAMResourceControl;#endif 	/* __IAMResourceControl_FWD_DEFINED__ */#ifndef __IAMClockAdjust_FWD_DEFINED__#define __IAMClockAdjust_FWD_DEFINED__typedef interface IAMClockAdjust IAMClockAdjust;#endif 	/* __IAMClockAdjust_FWD_DEFINED__ */#ifndef __IAMFilterMiscFlags_FWD_DEFINED__#define __IAMFilterMiscFlags_FWD_DEFINED__typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;#endif 	/* __IAMFilterMiscFlags_FWD_DEFINED__ */#ifndef __IDrawVideoImage_FWD_DEFINED__#define __IDrawVideoImage_FWD_DEFINED__typedef interface IDrawVideoImage IDrawVideoImage;#endif 	/* __IDrawVideoImage_FWD_DEFINED__ */#ifndef __IDecimateVideoImage_FWD_DEFINED__#define __IDecimateVideoImage_FWD_DEFINED__typedef interface IDecimateVideoImage IDecimateVideoImage;#endif 	/* __IDecimateVideoImage_FWD_DEFINED__ */#ifndef __IAMVideoDecimationProperties_FWD_DEFINED__#define __IAMVideoDecimationProperties_FWD_DEFINED__typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties;#endif 	/* __IAMVideoDecimationProperties_FWD_DEFINED__ */#ifndef __IVideoFrameStep_FWD_DEFINED__#define __IVideoFrameStep_FWD_DEFINED__typedef interface IVideoFrameStep IVideoFrameStep;#endif 	/* __IVideoFrameStep_FWD_DEFINED__ */#ifndef __IAMLatency_FWD_DEFINED__#define __IAMLatency_FWD_DEFINED__typedef interface IAMLatency IAMLatency;#endif 	/* __IAMLatency_FWD_DEFINED__ */#ifndef __IAMPushSource_FWD_DEFINED__#define __IAMPushSource_FWD_DEFINED__typedef interface IAMPushSource IAMPushSource;#endif 	/* __IAMPushSource_FWD_DEFINED__ */#ifndef __IAMDeviceRemoval_FWD_DEFINED__#define __IAMDeviceRemoval_FWD_DEFINED__typedef interface IAMDeviceRemoval IAMDeviceRemoval;#endif 	/* __IAMDeviceRemoval_FWD_DEFINED__ */#ifndef __IDVEnc_FWD_DEFINED__#define __IDVEnc_FWD_DEFINED__typedef interface IDVEnc IDVEnc;#endif 	/* __IDVEnc_FWD_DEFINED__ */#ifndef __IIPDVDec_FWD_DEFINED__#define __IIPDVDec_FWD_DEFINED__typedef interface IIPDVDec IIPDVDec;#endif 	/* __IIPDVDec_FWD_DEFINED__ */#ifndef __IDVRGB219_FWD_DEFINED__#define __IDVRGB219_FWD_DEFINED__typedef interface IDVRGB219 IDVRGB219;#endif 	/* __IDVRGB219_FWD_DEFINED__ */#ifndef __IDVSplitter_FWD_DEFINED__#define __IDVSplitter_FWD_DEFINED__typedef interface IDVSplitter IDVSplitter;#endif 	/* __IDVSplitter_FWD_DEFINED__ */#ifndef __IAMAudioRendererStats_FWD_DEFINED__#define __IAMAudioRendererStats_FWD_DEFINED__typedef interface IAMAudioRendererStats IAMAudioRendererStats;#endif 	/* __IAMAudioRendererStats_FWD_DEFINED__ */#ifndef __IAMGraphStreams_FWD_DEFINED__#define __IAMGraphStreams_FWD_DEFINED__typedef interface IAMGraphStreams IAMGraphStreams;#endif 	/* __IAMGraphStreams_FWD_DEFINED__ */#ifndef __IAMOverlayFX_FWD_DEFINED__#define __IAMOverlayFX_FWD_DEFINED__typedef interface IAMOverlayFX IAMOverlayFX;#endif 	/* __IAMOverlayFX_FWD_DEFINED__ */#ifndef __IAMOpenProgress_FWD_DEFINED__#define __IAMOpenProgress_FWD_DEFINED__typedef interface IAMOpenProgress IAMOpenProgress;#endif 	/* __IAMOpenProgress_FWD_DEFINED__ */#ifndef __IMpeg2Demultiplexer_FWD_DEFINED__#define __IMpeg2Demultiplexer_FWD_DEFINED__typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer;#endif 	/* __IMpeg2Demultiplexer_FWD_DEFINED__ */#ifndef __IEnumStreamIdMap_FWD_DEFINED__#define __IEnumStreamIdMap_FWD_DEFINED__typedef interface IEnumStreamIdMap IEnumStreamIdMap;#endif 	/* __IEnumStreamIdMap_FWD_DEFINED__ */#ifndef __IMPEG2StreamIdMap_FWD_DEFINED__#define __IMPEG2StreamIdMap_FWD_DEFINED__typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap;#endif 	/* __IMPEG2StreamIdMap_FWD_DEFINED__ */#ifndef __IRegisterServiceProvider_FWD_DEFINED__#define __IRegisterServiceProvider_FWD_DEFINED__typedef interface IRegisterServiceProvider IRegisterServiceProvider;#endif 	/* __IRegisterServiceProvider_FWD_DEFINED__ */#ifndef __IAMDecoderCaps_FWD_DEFINED__#define __IAMDecoderCaps_FWD_DEFINED__typedef interface IAMDecoderCaps IAMDecoderCaps;#endif 	/* __IAMDecoderCaps_FWD_DEFINED__ */#ifndef __IAMClockSlave_FWD_DEFINED__#define __IAMClockSlave_FWD_DEFINED__typedef interface IAMClockSlave IAMClockSlave;#endif 	/* __IAMClockSlave_FWD_DEFINED__ */#ifndef __IDvdControl_FWD_DEFINED__#define __IDvdControl_FWD_DEFINED__typedef interface IDvdControl IDvdControl;#endif 	/* __IDvdControl_FWD_DEFINED__ */#ifndef __IDvdInfo_FWD_DEFINED__#define __IDvdInfo_FWD_DEFINED__typedef interface IDvdInfo IDvdInfo;#endif 	/* __IDvdInfo_FWD_DEFINED__ */#ifndef __IDvdCmd_FWD_DEFINED__#define __IDvdCmd_FWD_DEFINED__typedef interface IDvdCmd IDvdCmd;#endif 	/* __IDvdCmd_FWD_DEFINED__ */#ifndef __IDvdState_FWD_DEFINED__#define __IDvdState_FWD_DEFINED__typedef interface IDvdState IDvdState;#endif 	/* __IDvdState_FWD_DEFINED__ */#ifndef __IDvdControl2_FWD_DEFINED__#define __IDvdControl2_FWD_DEFINED__typedef interface IDvdControl2 IDvdControl2;#endif 	/* __IDvdControl2_FWD_DEFINED__ */#ifndef __IDvdInfo2_FWD_DEFINED__#define __IDvdInfo2_FWD_DEFINED__typedef interface IDvdInfo2 IDvdInfo2;#endif 	/* __IDvdInfo2_FWD_DEFINED__ */#ifndef __IDvdGraphBuilder_FWD_DEFINED__#define __IDvdGraphBuilder_FWD_DEFINED__typedef interface IDvdGraphBuilder IDvdGraphBuilder;#endif 	/* __IDvdGraphBuilder_FWD_DEFINED__ */#ifndef __IDDrawExclModeVideo_FWD_DEFINED__#define __IDDrawExclModeVideo_FWD_DEFINED__typedef interface IDDrawExclModeVideo IDDrawExclModeVideo;#endif 	/* __IDDrawExclModeVideo_FWD_DEFINED__ */#ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__#define __IDDrawExclModeVideoCallback_FWD_DEFINED__typedef interface IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;#endif 	/* __IDDrawExclModeVideoCallback_FWD_DEFINED__ */#ifndef __IPinConnection_FWD_DEFINED__#define __IPinConnection_FWD_DEFINED__typedef interface IPinConnection IPinConnection;#endif 	/* __IPinConnection_FWD_DEFINED__ */#ifndef __IPinFlowControl_FWD_DEFINED__#define __IPinFlowControl_FWD_DEFINED__typedef interface IPinFlowControl IPinFlowControl;#endif 	/* __IPinFlowControl_FWD_DEFINED__ */#ifndef __IGraphConfig_FWD_DEFINED__#define __IGraphConfig_FWD_DEFINED__typedef interface IGraphConfig IGraphConfig;#endif 	/* __IGraphConfig_FWD_DEFINED__ */#ifndef __IGraphConfigCallback_FWD_DEFINED__#define __IGraphConfigCallback_FWD_DEFINED__typedef interface IGraphConfigCallback IGraphConfigCallback;#endif 	/* __IGraphConfigCallback_FWD_DEFINED__ */#ifndef __IFilterChain_FWD_DEFINED__#define __IFilterChain_FWD_DEFINED__typedef interface IFilterChain IFilterChain;#endif 	/* __IFilterChain_FWD_DEFINED__ */#ifndef __IVMRImagePresenter_FWD_DEFINED__#define __IVMRImagePresenter_FWD_DEFINED__typedef interface IVMRImagePresenter IVMRImagePresenter;#endif 	/* __IVMRImagePresenter_FWD_DEFINED__ */#ifndef __IVMRSurfaceAllocator_FWD_DEFINED__#define __IVMRSurfaceAllocator_FWD_DEFINED__typedef interface IVMRSurfaceAllocator IVMRSurfaceAllocator;#endif 	/* __IVMRSurfaceAllocator_FWD_DEFINED__ */#ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__#define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__typedef interface IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify;#endif 	/* __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ */#ifndef __IVMRWindowlessControl_FWD_DEFINED__#define __IVMRWindowlessControl_FWD_DEFINED__typedef interface IVMRWindowlessControl IVMRWindowlessControl;#endif 	/* __IVMRWindowlessControl_FWD_DEFINED__ */#ifndef __IVMRMixerControl_FWD_DEFINED__#define __IVMRMixerControl_FWD_DEFINED__typedef interface IVMRMixerControl IVMRMixerControl;#endif 	/* __IVMRMixerControl_FWD_DEFINED__ */#ifndef __IVMRMonitorConfig_FWD_DEFINED__#define __IVMRMonitorConfig_FWD_DEFINED__typedef interface IVMRMonitorConfig IVMRMonitorConfig;#endif 	/* __IVMRMonitorConfig_FWD_DEFINED__ */#ifndef __IVMRFilterConfig_FWD_DEFINED__#define __IVMRFilterConfig_FWD_DEFINED__typedef interface IVMRFilterConfig IVMRFilterConfig;#endif 	/* __IVMRFilterConfig_FWD_DEFINED__ */#ifndef __IVMRMixerBitmap_FWD_DEFINED__#define __IVMRMixerBitmap_FWD_DEFINED__typedef interface IVMRMixerBitmap IVMRMixerBitmap;#endif 	/* __IVMRMixerBitmap_FWD_DEFINED__ */#ifndef __IVMRImageCompositor_FWD_DEFINED__#define __IVMRImageCompositor_FWD_DEFINED__typedef interface IVMRImageCompositor IVMRImageCompositor;#endif 	/* __IVMRImageCompositor_FWD_DEFINED__ */#ifndef __IVMRVideoStreamControl_FWD_DEFINED__#define __IVMRVideoStreamControl_FWD_DEFINED__typedef interface IVMRVideoStreamControl IVMRVideoStreamControl;#endif 	/* __IVMRVideoStreamControl_FWD_DEFINED__ */#ifndef __IVMRSurface_FWD_DEFINED__#define __IVMRSurface_FWD_DEFINED__typedef interface IVMRSurface IVMRSurface;#endif 	/* __IVMRSurface_FWD_DEFINED__ */#ifndef __IVMRImagePresenterConfig_FWD_DEFINED__#define __IVMRImagePresenterConfig_FWD_DEFINED__typedef interface IVMRImagePresenterConfig IVMRImagePresenterConfig;#endif 	/* __IVMRImagePresenterConfig_FWD_DEFINED__ */#ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__#define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__typedef interface IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig;#endif 	/* __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ */#ifndef __IVPManager_FWD_DEFINED__#define __IVPManager_FWD_DEFINED__typedef interface IVPManager IVPManager;#endif 	/* __IVPManager_FWD_DEFINED__ *//* header files for imported files */#include "unknwn.h"#include "objidl.h"#include "oaidl.h"#include "ocidl.h"#ifdef __cplusplusextern "C"{#endifvoid * __RPC_USER MIDL_user_allocate(size_t);void __RPC_USER MIDL_user_free( void * );/* interface __MIDL_itf_strmif_0000 *//* [local] *///+-------------------------------------------------------------------------////  Copyright (C) Microsoft Corporation, 1999-2001.////--------------------------------------------------------------------------// Disable /W4 compiler warning C4201: nameless struct/union#pragma warning(disable:4201)  // Disable C4201: nameless struct/union#define CDEF_CLASS_DEFAULT      0x0001#define CDEF_BYPASS_CLASS_MANAGER   0x0002#define CDEF_MERIT_ABOVE_DO_NOT_USE  0x0008#define CDEF_DEVMON_CMGR_DEVICE  0x0010#define CDEF_DEVMON_DMO  0x0020#define CDEF_DEVMON_PNP_DEVICE  0x0040#define CDEF_DEVMON_FILTER  0x0080#define CDEF_DEVMON_SELECTIVE_MASK  0x00f0extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_s_ifspec;#ifndef __ICreateDevEnum_INTERFACE_DEFINED__#define __ICreateDevEnum_INTERFACE_DEFINED__/* interface ICreateDevEnum *//* [unique][uuid][object] */EXTERN_C const IID IID_ICreateDevEnum;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("29840822-5B84-11D0-BD3B-00A0C911CE86")    ICreateDevEnum : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator(            /* [in] */ REFCLSID clsidDeviceClass,            /* [out] */ IEnumMoniker **ppEnumMoniker,            /* [in] */ DWORD dwFlags) = 0;    };#else 	/* C style interface */    typedef struct ICreateDevEnumVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            ICreateDevEnum * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            ICreateDevEnum * This);        ULONG ( STDMETHODCALLTYPE *Release )(            ICreateDevEnum * This);        HRESULT ( STDMETHODCALLTYPE *CreateClassEnumerator )(            ICreateDevEnum * This,            /* [in] */ REFCLSID clsidDeviceClass,            /* [out] */ IEnumMoniker **ppEnumMoniker,            /* [in] */ DWORD dwFlags);        END_INTERFACE    } ICreateDevEnumVtbl;    interface ICreateDevEnum    {        CONST_VTBL struct ICreateDevEnumVtbl *lpVtbl;    };#ifdef COBJMACROS#define ICreateDevEnum_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define ICreateDevEnum_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define ICreateDevEnum_Release(This)	\    (This)->lpVtbl -> Release(This)#define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)	\    (This)->lpVtbl -> CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy(    ICreateDevEnum * This,    /* [in] */ REFCLSID clsidDeviceClass,    /* [out] */ IEnumMoniker **ppEnumMoniker,    /* [in] */ DWORD dwFlags);void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __ICreateDevEnum_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0112 *//* [local] */#define CHARS_IN_GUID     39typedef struct _AMMediaType    {    GUID majortype;    GUID subtype;    BOOL bFixedSizeSamples;    BOOL bTemporalCompression;    ULONG lSampleSize;    GUID formattype;    IUnknown *pUnk;    ULONG cbFormat;    /* [size_is] */ BYTE *pbFormat;    } 	AM_MEDIA_TYPE;typedefenum _PinDirection    {	PINDIR_INPUT	= 0,	PINDIR_OUTPUT	= PINDIR_INPUT + 1    } 	PIN_DIRECTION;#define MAX_PIN_NAME     128#define MAX_FILTER_NAME  128typedef LONGLONG REFERENCE_TIME;typedef double REFTIME;typedef DWORD_PTR HSEMAPHORE;typedef DWORD_PTR HEVENT;typedef struct _AllocatorProperties    {    long cBuffers;    long cbBuffer;    long cbAlign;    long cbPrefix;    } 	ALLOCATOR_PROPERTIES;extern RPC_IF_HANDLE __MIDL_itf_strmif_0112_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0112_v0_0_s_ifspec;#ifndef __IPin_INTERFACE_DEFINED__#define __IPin_INTERFACE_DEFINED__/* interface IPin *//* [unique][uuid][object] */typedef struct _PinInfo    {    IBaseFilter *pFilter;    PIN_DIRECTION dir;    WCHAR achName[ 128 ];    } 	PIN_INFO;EXTERN_C const IID IID_IPin;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")    IPin : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Connect(            /* [in] */ IPin *pReceivePin,            /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;        virtual HRESULT STDMETHODCALLTYPE ReceiveConnection(            /* [in] */ IPin *pConnector,            /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;        virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;        virtual HRESULT STDMETHODCALLTYPE ConnectedTo(            /* [out] */ IPin **pPin) = 0;        virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType(            /* [out] */ AM_MEDIA_TYPE *pmt) = 0;        virtual HRESULT STDMETHODCALLTYPE QueryPinInfo(            /* [out] */ PIN_INFO *pInfo) = 0;        virtual HRESULT STDMETHODCALLTYPE QueryDirection(            /* [out] */ PIN_DIRECTION *pPinDir) = 0;        virtual HRESULT STDMETHODCALLTYPE QueryId(            /* [out] */ LPWSTR *Id) = 0;        virtual HRESULT STDMETHODCALLTYPE QueryAccept(            /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;        virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes(            /* [out] */ IEnumMediaTypes **ppEnum) = 0;        virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections(            /* [out] */ IPin **apPin,            /* [out][in] */ ULONG *nPin) = 0;        virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;        virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;        virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;        virtual HRESULT STDMETHODCALLTYPE NewSegment(            /* [in] */ REFERENCE_TIME tStart,            /* [in] */ REFERENCE_TIME tStop,            /* [in] */ double dRate) = 0;    };#else 	/* C style interface */    typedef struct IPinVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IPin * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IPin * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IPin * This);        HRESULT ( STDMETHODCALLTYPE *Connect )(            IPin * This,            /* [in] */ IPin *pReceivePin,            /* [in] */ const AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *ReceiveConnection )(            IPin * This,            /* [in] */ IPin *pConnector,            /* [in] */ const AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *Disconnect )(            IPin * This);        HRESULT ( STDMETHODCALLTYPE *ConnectedTo )(            IPin * This,            /* [out] */ IPin **pPin);        HRESULT ( STDMETHODCALLTYPE *ConnectionMediaType )(            IPin * This,            /* [out] */ AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *QueryPinInfo )(            IPin * This,            /* [out] */ PIN_INFO *pInfo);        HRESULT ( STDMETHODCALLTYPE *QueryDirection )(            IPin * This,            /* [out] */ PIN_DIRECTION *pPinDir);        HRESULT ( STDMETHODCALLTYPE *QueryId )(            IPin * This,            /* [out] */ LPWSTR *Id);        HRESULT ( STDMETHODCALLTYPE *QueryAccept )(            IPin * This,            /* [in] */ const AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *EnumMediaTypes )(            IPin * This,            /* [out] */ IEnumMediaTypes **ppEnum);        HRESULT ( STDMETHODCALLTYPE *QueryInternalConnections )(            IPin * This,            /* [out] */ IPin **apPin,            /* [out][in] */ ULONG *nPin);        HRESULT ( STDMETHODCALLTYPE *EndOfStream )(            IPin * This);        HRESULT ( STDMETHODCALLTYPE *BeginFlush )(            IPin * This);        HRESULT ( STDMETHODCALLTYPE *EndFlush )(            IPin * This);        HRESULT ( STDMETHODCALLTYPE *NewSegment )(            IPin * This,            /* [in] */ REFERENCE_TIME tStart,            /* [in] */ REFERENCE_TIME tStop,            /* [in] */ double dRate);        END_INTERFACE    } IPinVtbl;    interface IPin    {        CONST_VTBL struct IPinVtbl *lpVtbl;    };#ifdef COBJMACROS#define IPin_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IPin_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IPin_Release(This)	\    (This)->lpVtbl -> Release(This)#define IPin_Connect(This,pReceivePin,pmt)	\    (This)->lpVtbl -> Connect(This,pReceivePin,pmt)#define IPin_ReceiveConnection(This,pConnector,pmt)	\    (This)->lpVtbl -> ReceiveConnection(This,pConnector,pmt)#define IPin_Disconnect(This)	\    (This)->lpVtbl -> Disconnect(This)#define IPin_ConnectedTo(This,pPin)	\    (This)->lpVtbl -> ConnectedTo(This,pPin)#define IPin_ConnectionMediaType(This,pmt)	\    (This)->lpVtbl -> ConnectionMediaType(This,pmt)#define IPin_QueryPinInfo(This,pInfo)	\    (This)->lpVtbl -> QueryPinInfo(This,pInfo)#define IPin_QueryDirection(This,pPinDir)	\    (This)->lpVtbl -> QueryDirection(This,pPinDir)#define IPin_QueryId(This,Id)	\    (This)->lpVtbl -> QueryId(This,Id)#define IPin_QueryAccept(This,pmt)	\    (This)->lpVtbl -> QueryAccept(This,pmt)#define IPin_EnumMediaTypes(This,ppEnum)	\    (This)->lpVtbl -> EnumMediaTypes(This,ppEnum)#define IPin_QueryInternalConnections(This,apPin,nPin)	\    (This)->lpVtbl -> QueryInternalConnections(This,apPin,nPin)#define IPin_EndOfStream(This)	\    (This)->lpVtbl -> EndOfStream(This)#define IPin_BeginFlush(This)	\    (This)->lpVtbl -> BeginFlush(This)#define IPin_EndFlush(This)	\    (This)->lpVtbl -> EndFlush(This)#define IPin_NewSegment(This,tStart,tStop,dRate)	\    (This)->lpVtbl -> NewSegment(This,tStart,tStop,dRate)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy(    IPin * This,    /* [in] */ IPin *pReceivePin,    /* [in] */ const AM_MEDIA_TYPE *pmt);void __RPC_STUB IPin_Connect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy(    IPin * This,    /* [in] */ IPin *pConnector,    /* [in] */ const AM_MEDIA_TYPE *pmt);void __RPC_STUB IPin_ReceiveConnection_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy(    IPin * This);void __RPC_STUB IPin_Disconnect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy(    IPin * This,    /* [out] */ IPin **pPin);void __RPC_STUB IPin_ConnectedTo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy(    IPin * This,    /* [out] */ AM_MEDIA_TYPE *pmt);void __RPC_STUB IPin_ConnectionMediaType_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy(    IPin * This,    /* [out] */ PIN_INFO *pInfo);void __RPC_STUB IPin_QueryPinInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy(    IPin * This,    /* [out] */ PIN_DIRECTION *pPinDir);void __RPC_STUB IPin_QueryDirection_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy(    IPin * This,    /* [out] */ LPWSTR *Id);void __RPC_STUB IPin_QueryId_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy(    IPin * This,    /* [in] */ const AM_MEDIA_TYPE *pmt);void __RPC_STUB IPin_QueryAccept_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy(    IPin * This,    /* [out] */ IEnumMediaTypes **ppEnum);void __RPC_STUB IPin_EnumMediaTypes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy(    IPin * This,    /* [out] */ IPin **apPin,    /* [out][in] */ ULONG *nPin);void __RPC_STUB IPin_QueryInternalConnections_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy(    IPin * This);void __RPC_STUB IPin_EndOfStream_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy(    IPin * This);void __RPC_STUB IPin_BeginFlush_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy(    IPin * This);void __RPC_STUB IPin_EndFlush_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy(    IPin * This,    /* [in] */ REFERENCE_TIME tStart,    /* [in] */ REFERENCE_TIME tStop,    /* [in] */ double dRate);void __RPC_STUB IPin_NewSegment_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IPin_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0113 *//* [local] */typedef IPin *PPIN;extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_s_ifspec;#ifndef __IEnumPins_INTERFACE_DEFINED__#define __IEnumPins_INTERFACE_DEFINED__/* interface IEnumPins *//* [unique][uuid][object] */EXTERN_C const IID IID_IEnumPins;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")    IEnumPins : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Next(            /* [in] */ ULONG cPins,            /* [size_is][out] */ IPin **ppPins,            /* [out] */ ULONG *pcFetched) = 0;        virtual HRESULT STDMETHODCALLTYPE Skip(            /* [in] */ ULONG cPins) = 0;        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Clone(            /* [out] */ IEnumPins **ppEnum) = 0;    };#else 	/* C style interface */    typedef struct IEnumPinsVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IEnumPins * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IEnumPins * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IEnumPins * This);        HRESULT ( STDMETHODCALLTYPE *Next )(            IEnumPins * This,            /* [in] */ ULONG cPins,            /* [size_is][out] */ IPin **ppPins,            /* [out] */ ULONG *pcFetched);        HRESULT ( STDMETHODCALLTYPE *Skip )(            IEnumPins * This,            /* [in] */ ULONG cPins);        HRESULT ( STDMETHODCALLTYPE *Reset )(            IEnumPins * This);        HRESULT ( STDMETHODCALLTYPE *Clone )(            IEnumPins * This,            /* [out] */ IEnumPins **ppEnum);        END_INTERFACE    } IEnumPinsVtbl;    interface IEnumPins    {        CONST_VTBL struct IEnumPinsVtbl *lpVtbl;    };#ifdef COBJMACROS#define IEnumPins_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IEnumPins_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IEnumPins_Release(This)	\    (This)->lpVtbl -> Release(This)#define IEnumPins_Next(This,cPins,ppPins,pcFetched)	\    (This)->lpVtbl -> Next(This,cPins,ppPins,pcFetched)#define IEnumPins_Skip(This,cPins)	\    (This)->lpVtbl -> Skip(This,cPins)#define IEnumPins_Reset(This)	\    (This)->lpVtbl -> Reset(This)#define IEnumPins_Clone(This,ppEnum)	\    (This)->lpVtbl -> Clone(This,ppEnum)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy(    IEnumPins * This,    /* [in] */ ULONG cPins,    /* [size_is][out] */ IPin **ppPins,    /* [out] */ ULONG *pcFetched);void __RPC_STUB IEnumPins_Next_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy(    IEnumPins * This,    /* [in] */ ULONG cPins);void __RPC_STUB IEnumPins_Skip_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy(    IEnumPins * This);void __RPC_STUB IEnumPins_Reset_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy(    IEnumPins * This,    /* [out] */ IEnumPins **ppEnum);void __RPC_STUB IEnumPins_Clone_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IEnumPins_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0114 *//* [local] */typedef IEnumPins *PENUMPINS;extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_s_ifspec;#ifndef __IEnumMediaTypes_INTERFACE_DEFINED__#define __IEnumMediaTypes_INTERFACE_DEFINED__/* interface IEnumMediaTypes *//* [unique][uuid][object] */EXTERN_C const IID IID_IEnumMediaTypes;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")    IEnumMediaTypes : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Next(            /* [in] */ ULONG cMediaTypes,            /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,            /* [out] */ ULONG *pcFetched) = 0;        virtual HRESULT STDMETHODCALLTYPE Skip(            /* [in] */ ULONG cMediaTypes) = 0;        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Clone(            /* [out] */ IEnumMediaTypes **ppEnum) = 0;    };#else 	/* C style interface */    typedef struct IEnumMediaTypesVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IEnumMediaTypes * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IEnumMediaTypes * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IEnumMediaTypes * This);        HRESULT ( STDMETHODCALLTYPE *Next )(            IEnumMediaTypes * This,            /* [in] */ ULONG cMediaTypes,            /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,            /* [out] */ ULONG *pcFetched);        HRESULT ( STDMETHODCALLTYPE *Skip )(            IEnumMediaTypes * This,            /* [in] */ ULONG cMediaTypes);        HRESULT ( STDMETHODCALLTYPE *Reset )(            IEnumMediaTypes * This);        HRESULT ( STDMETHODCALLTYPE *Clone )(            IEnumMediaTypes * This,            /* [out] */ IEnumMediaTypes **ppEnum);        END_INTERFACE    } IEnumMediaTypesVtbl;    interface IEnumMediaTypes    {        CONST_VTBL struct IEnumMediaTypesVtbl *lpVtbl;    };#ifdef COBJMACROS#define IEnumMediaTypes_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IEnumMediaTypes_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IEnumMediaTypes_Release(This)	\    (This)->lpVtbl -> Release(This)#define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched)	\    (This)->lpVtbl -> Next(This,cMediaTypes,ppMediaTypes,pcFetched)#define IEnumMediaTypes_Skip(This,cMediaTypes)	\    (This)->lpVtbl -> Skip(This,cMediaTypes)#define IEnumMediaTypes_Reset(This)	\    (This)->lpVtbl -> Reset(This)#define IEnumMediaTypes_Clone(This,ppEnum)	\    (This)->lpVtbl -> Clone(This,ppEnum)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy(    IEnumMediaTypes * This,    /* [in] */ ULONG cMediaTypes,    /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,    /* [out] */ ULONG *pcFetched);void __RPC_STUB IEnumMediaTypes_Next_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy(    IEnumMediaTypes * This,    /* [in] */ ULONG cMediaTypes);void __RPC_STUB IEnumMediaTypes_Skip_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy(    IEnumMediaTypes * This);void __RPC_STUB IEnumMediaTypes_Reset_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy(    IEnumMediaTypes * This,    /* [out] */ IEnumMediaTypes **ppEnum);void __RPC_STUB IEnumMediaTypes_Clone_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IEnumMediaTypes_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0115 *//* [local] */typedef IEnumMediaTypes *PENUMMEDIATYPES;extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_s_ifspec;#ifndef __IFilterGraph_INTERFACE_DEFINED__#define __IFilterGraph_INTERFACE_DEFINED__/* interface IFilterGraph *//* [unique][uuid][object] */EXTERN_C const IID IID_IFilterGraph;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")    IFilterGraph : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE AddFilter(            /* [in] */ IBaseFilter *pFilter,            /* [string][in] */ LPCWSTR pName) = 0;        virtual HRESULT STDMETHODCALLTYPE RemoveFilter(            /* [in] */ IBaseFilter *pFilter) = 0;        virtual HRESULT STDMETHODCALLTYPE EnumFilters(            /* [out] */ IEnumFilters **ppEnum) = 0;        virtual HRESULT STDMETHODCALLTYPE FindFilterByName(            /* [string][in] */ LPCWSTR pName,            /* [out] */ IBaseFilter **ppFilter) = 0;        virtual HRESULT STDMETHODCALLTYPE ConnectDirect(            /* [in] */ IPin *ppinOut,            /* [in] */ IPin *ppinIn,            /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;        virtual HRESULT STDMETHODCALLTYPE Reconnect(            /* [in] */ IPin *ppin) = 0;        virtual HRESULT STDMETHODCALLTYPE Disconnect(            /* [in] */ IPin *ppin) = 0;        virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( void) = 0;    };#else 	/* C style interface */    typedef struct IFilterGraphVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IFilterGraph * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IFilterGraph * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IFilterGraph * This);        HRESULT ( STDMETHODCALLTYPE *AddFilter )(            IFilterGraph * This,            /* [in] */ IBaseFilter *pFilter,            /* [string][in] */ LPCWSTR pName);        HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(            IFilterGraph * This,            /* [in] */ IBaseFilter *pFilter);        HRESULT ( STDMETHODCALLTYPE *EnumFilters )(            IFilterGraph * This,            /* [out] */ IEnumFilters **ppEnum);        HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(            IFilterGraph * This,            /* [string][in] */ LPCWSTR pName,            /* [out] */ IBaseFilter **ppFilter);        HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(            IFilterGraph * This,            /* [in] */ IPin *ppinOut,            /* [in] */ IPin *ppinIn,            /* [unique][in] */ const AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *Reconnect )(            IFilterGraph * This,            /* [in] */ IPin *ppin);        HRESULT ( STDMETHODCALLTYPE *Disconnect )(            IFilterGraph * This,            /* [in] */ IPin *ppin);        HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(            IFilterGraph * This);        END_INTERFACE    } IFilterGraphVtbl;    interface IFilterGraph    {        CONST_VTBL struct IFilterGraphVtbl *lpVtbl;    };#ifdef COBJMACROS#define IFilterGraph_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IFilterGraph_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IFilterGraph_Release(This)	\    (This)->lpVtbl -> Release(This)#define IFilterGraph_AddFilter(This,pFilter,pName)	\    (This)->lpVtbl -> AddFilter(This,pFilter,pName)#define IFilterGraph_RemoveFilter(This,pFilter)	\    (This)->lpVtbl -> RemoveFilter(This,pFilter)#define IFilterGraph_EnumFilters(This,ppEnum)	\    (This)->lpVtbl -> EnumFilters(This,ppEnum)#define IFilterGraph_FindFilterByName(This,pName,ppFilter)	\    (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)#define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt)	\    (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)#define IFilterGraph_Reconnect(This,ppin)	\    (This)->lpVtbl -> Reconnect(This,ppin)#define IFilterGraph_Disconnect(This,ppin)	\    (This)->lpVtbl -> Disconnect(This,ppin)#define IFilterGraph_SetDefaultSyncSource(This)	\    (This)->lpVtbl -> SetDefaultSyncSource(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy(    IFilterGraph * This,    /* [in] */ IBaseFilter *pFilter,    /* [string][in] */ LPCWSTR pName);void __RPC_STUB IFilterGraph_AddFilter_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy(    IFilterGraph * This,    /* [in] */ IBaseFilter *pFilter);void __RPC_STUB IFilterGraph_RemoveFilter_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy(    IFilterGraph * This,    /* [out] */ IEnumFilters **ppEnum);void __RPC_STUB IFilterGraph_EnumFilters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy(    IFilterGraph * This,    /* [string][in] */ LPCWSTR pName,    /* [out] */ IBaseFilter **ppFilter);void __RPC_STUB IFilterGraph_FindFilterByName_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy(    IFilterGraph * This,    /* [in] */ IPin *ppinOut,    /* [in] */ IPin *ppinIn,    /* [unique][in] */ const AM_MEDIA_TYPE *pmt);void __RPC_STUB IFilterGraph_ConnectDirect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy(    IFilterGraph * This,    /* [in] */ IPin *ppin);void __RPC_STUB IFilterGraph_Reconnect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy(    IFilterGraph * This,    /* [in] */ IPin *ppin);void __RPC_STUB IFilterGraph_Disconnect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy(    IFilterGraph * This);void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IFilterGraph_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0116 *//* [local] */typedef IFilterGraph *PFILTERGRAPH;extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_s_ifspec;#ifndef __IEnumFilters_INTERFACE_DEFINED__#define __IEnumFilters_INTERFACE_DEFINED__/* interface IEnumFilters *//* [unique][uuid][object] */EXTERN_C const IID IID_IEnumFilters;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")    IEnumFilters : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Next(            /* [in] */ ULONG cFilters,            /* [out] */ IBaseFilter **ppFilter,            /* [out] */ ULONG *pcFetched) = 0;        virtual HRESULT STDMETHODCALLTYPE Skip(            /* [in] */ ULONG cFilters) = 0;        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Clone(            /* [out] */ IEnumFilters **ppEnum) = 0;    };#else 	/* C style interface */    typedef struct IEnumFiltersVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IEnumFilters * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IEnumFilters * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IEnumFilters * This);        HRESULT ( STDMETHODCALLTYPE *Next )(            IEnumFilters * This,            /* [in] */ ULONG cFilters,            /* [out] */ IBaseFilter **ppFilter,            /* [out] */ ULONG *pcFetched);        HRESULT ( STDMETHODCALLTYPE *Skip )(            IEnumFilters * This,            /* [in] */ ULONG cFilters);        HRESULT ( STDMETHODCALLTYPE *Reset )(            IEnumFilters * This);        HRESULT ( STDMETHODCALLTYPE *Clone )(            IEnumFilters * This,            /* [out] */ IEnumFilters **ppEnum);        END_INTERFACE    } IEnumFiltersVtbl;    interface IEnumFilters    {        CONST_VTBL struct IEnumFiltersVtbl *lpVtbl;    };#ifdef COBJMACROS#define IEnumFilters_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IEnumFilters_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IEnumFilters_Release(This)	\    (This)->lpVtbl -> Release(This)#define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched)	\    (This)->lpVtbl -> Next(This,cFilters,ppFilter,pcFetched)#define IEnumFilters_Skip(This,cFilters)	\    (This)->lpVtbl -> Skip(This,cFilters)#define IEnumFilters_Reset(This)	\    (This)->lpVtbl -> Reset(This)#define IEnumFilters_Clone(This,ppEnum)	\    (This)->lpVtbl -> Clone(This,ppEnum)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy(    IEnumFilters * This,    /* [in] */ ULONG cFilters,    /* [out] */ IBaseFilter **ppFilter,    /* [out] */ ULONG *pcFetched);void __RPC_STUB IEnumFilters_Next_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy(    IEnumFilters * This,    /* [in] */ ULONG cFilters);void __RPC_STUB IEnumFilters_Skip_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy(    IEnumFilters * This);void __RPC_STUB IEnumFilters_Reset_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy(    IEnumFilters * This,    /* [out] */ IEnumFilters **ppEnum);void __RPC_STUB IEnumFilters_Clone_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IEnumFilters_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0117 *//* [local] */typedef IEnumFilters *PENUMFILTERS;extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_s_ifspec;#ifndef __IMediaFilter_INTERFACE_DEFINED__#define __IMediaFilter_INTERFACE_DEFINED__/* interface IMediaFilter *//* [unique][uuid][object] */typedefenum _FilterState    {	State_Stopped	= 0,	State_Paused	= State_Stopped + 1,	State_Running	= State_Paused + 1    } 	FILTER_STATE;EXTERN_C const IID IID_IMediaFilter;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")    IMediaFilter : public IPersist    {    public:        virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Run(            REFERENCE_TIME tStart) = 0;        virtual HRESULT STDMETHODCALLTYPE GetState(            /* [in] */ DWORD dwMilliSecsTimeout,            /* [out] */ FILTER_STATE *State) = 0;        virtual HRESULT STDMETHODCALLTYPE SetSyncSource(            /* [in] */ IReferenceClock *pClock) = 0;        virtual HRESULT STDMETHODCALLTYPE GetSyncSource(            /* [out] */ IReferenceClock **pClock) = 0;    };#else 	/* C style interface */    typedef struct IMediaFilterVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IMediaFilter * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IMediaFilter * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IMediaFilter * This);        HRESULT ( STDMETHODCALLTYPE *GetClassID )(            IMediaFilter * This,            /* [out] */ CLSID *pClassID);        HRESULT ( STDMETHODCALLTYPE *Stop )(            IMediaFilter * This);        HRESULT ( STDMETHODCALLTYPE *Pause )(            IMediaFilter * This);        HRESULT ( STDMETHODCALLTYPE *Run )(            IMediaFilter * This,            REFERENCE_TIME tStart);        HRESULT ( STDMETHODCALLTYPE *GetState )(            IMediaFilter * This,            /* [in] */ DWORD dwMilliSecsTimeout,            /* [out] */ FILTER_STATE *State);        HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(            IMediaFilter * This,            /* [in] */ IReferenceClock *pClock);        HRESULT ( STDMETHODCALLTYPE *GetSyncSource )(            IMediaFilter * This,            /* [out] */ IReferenceClock **pClock);        END_INTERFACE    } IMediaFilterVtbl;    interface IMediaFilter    {        CONST_VTBL struct IMediaFilterVtbl *lpVtbl;    };#ifdef COBJMACROS#define IMediaFilter_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IMediaFilter_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IMediaFilter_Release(This)	\    (This)->lpVtbl -> Release(This)#define IMediaFilter_GetClassID(This,pClassID)	\    (This)->lpVtbl -> GetClassID(This,pClassID)#define IMediaFilter_Stop(This)	\    (This)->lpVtbl -> Stop(This)#define IMediaFilter_Pause(This)	\    (This)->lpVtbl -> Pause(This)#define IMediaFilter_Run(This,tStart)	\    (This)->lpVtbl -> Run(This,tStart)#define IMediaFilter_GetState(This,dwMilliSecsTimeout,State)	\    (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)#define IMediaFilter_SetSyncSource(This,pClock)	\    (This)->lpVtbl -> SetSyncSource(This,pClock)#define IMediaFilter_GetSyncSource(This,pClock)	\    (This)->lpVtbl -> GetSyncSource(This,pClock)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy(    IMediaFilter * This);void __RPC_STUB IMediaFilter_Stop_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy(    IMediaFilter * This);void __RPC_STUB IMediaFilter_Pause_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy(    IMediaFilter * This,    REFERENCE_TIME tStart);void __RPC_STUB IMediaFilter_Run_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy(    IMediaFilter * This,    /* [in] */ DWORD dwMilliSecsTimeout,    /* [out] */ FILTER_STATE *State);void __RPC_STUB IMediaFilter_GetState_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy(    IMediaFilter * This,    /* [in] */ IReferenceClock *pClock);void __RPC_STUB IMediaFilter_SetSyncSource_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy(    IMediaFilter * This,    /* [out] */ IReferenceClock **pClock);void __RPC_STUB IMediaFilter_GetSyncSource_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IMediaFilter_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0118 *//* [local] */typedef IMediaFilter *PMEDIAFILTER;extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_s_ifspec;#ifndef __IBaseFilter_INTERFACE_DEFINED__#define __IBaseFilter_INTERFACE_DEFINED__/* interface IBaseFilter *//* [unique][uuid][object] */typedef struct _FilterInfo    {    WCHAR achName[ 128 ];    IFilterGraph *pGraph;    } 	FILTER_INFO;EXTERN_C const IID IID_IBaseFilter;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")    IBaseFilter : public IMediaFilter    {    public:        virtual HRESULT STDMETHODCALLTYPE EnumPins(            /* [out] */ IEnumPins **ppEnum) = 0;        virtual HRESULT STDMETHODCALLTYPE FindPin(            /* [string][in] */ LPCWSTR Id,            /* [out] */ IPin **ppPin) = 0;        virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo(            /* [out] */ FILTER_INFO *pInfo) = 0;        virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph(            /* [in] */ IFilterGraph *pGraph,            /* [string][in] */ LPCWSTR pName) = 0;        virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo(            /* [string][out] */ LPWSTR *pVendorInfo) = 0;    };#else 	/* C style interface */    typedef struct IBaseFilterVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IBaseFilter * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IBaseFilter * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IBaseFilter * This);        HRESULT ( STDMETHODCALLTYPE *GetClassID )(            IBaseFilter * This,            /* [out] */ CLSID *pClassID);        HRESULT ( STDMETHODCALLTYPE *Stop )(            IBaseFilter * This);        HRESULT ( STDMETHODCALLTYPE *Pause )(            IBaseFilter * This);        HRESULT ( STDMETHODCALLTYPE *Run )(            IBaseFilter * This,            REFERENCE_TIME tStart);        HRESULT ( STDMETHODCALLTYPE *GetState )(            IBaseFilter * This,            /* [in] */ DWORD dwMilliSecsTimeout,            /* [out] */ FILTER_STATE *State);        HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(            IBaseFilter * This,            /* [in] */ IReferenceClock *pClock);        HRESULT ( STDMETHODCALLTYPE *GetSyncSource )(            IBaseFilter * This,            /* [out] */ IReferenceClock **pClock);        HRESULT ( STDMETHODCALLTYPE *EnumPins )(            IBaseFilter * This,            /* [out] */ IEnumPins **ppEnum);        HRESULT ( STDMETHODCALLTYPE *FindPin )(            IBaseFilter * This,            /* [string][in] */ LPCWSTR Id,            /* [out] */ IPin **ppPin);        HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )(            IBaseFilter * This,            /* [out] */ FILTER_INFO *pInfo);        HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )(            IBaseFilter * This,            /* [in] */ IFilterGraph *pGraph,            /* [string][in] */ LPCWSTR pName);        HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )(            IBaseFilter * This,            /* [string][out] */ LPWSTR *pVendorInfo);        END_INTERFACE    } IBaseFilterVtbl;    interface IBaseFilter    {        CONST_VTBL struct IBaseFilterVtbl *lpVtbl;    };#ifdef COBJMACROS#define IBaseFilter_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IBaseFilter_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IBaseFilter_Release(This)	\    (This)->lpVtbl -> Release(This)#define IBaseFilter_GetClassID(This,pClassID)	\    (This)->lpVtbl -> GetClassID(This,pClassID)#define IBaseFilter_Stop(This)	\    (This)->lpVtbl -> Stop(This)#define IBaseFilter_Pause(This)	\    (This)->lpVtbl -> Pause(This)#define IBaseFilter_Run(This,tStart)	\    (This)->lpVtbl -> Run(This,tStart)#define IBaseFilter_GetState(This,dwMilliSecsTimeout,State)	\    (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)#define IBaseFilter_SetSyncSource(This,pClock)	\    (This)->lpVtbl -> SetSyncSource(This,pClock)#define IBaseFilter_GetSyncSource(This,pClock)	\    (This)->lpVtbl -> GetSyncSource(This,pClock)#define IBaseFilter_EnumPins(This,ppEnum)	\    (This)->lpVtbl -> EnumPins(This,ppEnum)#define IBaseFilter_FindPin(This,Id,ppPin)	\    (This)->lpVtbl -> FindPin(This,Id,ppPin)#define IBaseFilter_QueryFilterInfo(This,pInfo)	\    (This)->lpVtbl -> QueryFilterInfo(This,pInfo)#define IBaseFilter_JoinFilterGraph(This,pGraph,pName)	\    (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)#define IBaseFilter_QueryVendorInfo(This,pVendorInfo)	\    (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy(    IBaseFilter * This,    /* [out] */ IEnumPins **ppEnum);void __RPC_STUB IBaseFilter_EnumPins_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy(    IBaseFilter * This,    /* [string][in] */ LPCWSTR Id,    /* [out] */ IPin **ppPin);void __RPC_STUB IBaseFilter_FindPin_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy(    IBaseFilter * This,    /* [out] */ FILTER_INFO *pInfo);void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy(    IBaseFilter * This,    /* [in] */ IFilterGraph *pGraph,    /* [string][in] */ LPCWSTR pName);void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy(    IBaseFilter * This,    /* [string][out] */ LPWSTR *pVendorInfo);void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IBaseFilter_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0119 *//* [local] */typedef IBaseFilter *PFILTER;extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_s_ifspec;#ifndef __IReferenceClock_INTERFACE_DEFINED__#define __IReferenceClock_INTERFACE_DEFINED__/* interface IReferenceClock *//* [unique][uuid][object] */EXTERN_C const IID IID_IReferenceClock;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")    IReferenceClock : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetTime(            /* [out] */ REFERENCE_TIME *pTime) = 0;        virtual HRESULT STDMETHODCALLTYPE AdviseTime(            /* [in] */ REFERENCE_TIME baseTime,            /* [in] */ REFERENCE_TIME streamTime,            /* [in] */ HEVENT hEvent,            /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;        virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic(            /* [in] */ REFERENCE_TIME startTime,            /* [in] */ REFERENCE_TIME periodTime,            /* [in] */ HSEMAPHORE hSemaphore,            /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;        virtual HRESULT STDMETHODCALLTYPE Unadvise(            /* [in] */ DWORD_PTR dwAdviseCookie) = 0;    };#else 	/* C style interface */    typedef struct IReferenceClockVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IReferenceClock * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IReferenceClock * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IReferenceClock * This);        HRESULT ( STDMETHODCALLTYPE *GetTime )(            IReferenceClock * This,            /* [out] */ REFERENCE_TIME *pTime);        HRESULT ( STDMETHODCALLTYPE *AdviseTime )(            IReferenceClock * This,            /* [in] */ REFERENCE_TIME baseTime,            /* [in] */ REFERENCE_TIME streamTime,            /* [in] */ HEVENT hEvent,            /* [out] */ DWORD_PTR *pdwAdviseCookie);        HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )(            IReferenceClock * This,            /* [in] */ REFERENCE_TIME startTime,            /* [in] */ REFERENCE_TIME periodTime,            /* [in] */ HSEMAPHORE hSemaphore,            /* [out] */ DWORD_PTR *pdwAdviseCookie);        HRESULT ( STDMETHODCALLTYPE *Unadvise )(            IReferenceClock * This,            /* [in] */ DWORD_PTR dwAdviseCookie);        END_INTERFACE    } IReferenceClockVtbl;    interface IReferenceClock    {        CONST_VTBL struct IReferenceClockVtbl *lpVtbl;    };#ifdef COBJMACROS#define IReferenceClock_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IReferenceClock_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IReferenceClock_Release(This)	\    (This)->lpVtbl -> Release(This)#define IReferenceClock_GetTime(This,pTime)	\    (This)->lpVtbl -> GetTime(This,pTime)#define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)	\    (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)#define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)	\    (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)#define IReferenceClock_Unadvise(This,dwAdviseCookie)	\    (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy(    IReferenceClock * This,    /* [out] */ REFERENCE_TIME *pTime);void __RPC_STUB IReferenceClock_GetTime_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy(    IReferenceClock * This,    /* [in] */ REFERENCE_TIME baseTime,    /* [in] */ REFERENCE_TIME streamTime,    /* [in] */ HEVENT hEvent,    /* [out] */ DWORD_PTR *pdwAdviseCookie);void __RPC_STUB IReferenceClock_AdviseTime_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy(    IReferenceClock * This,    /* [in] */ REFERENCE_TIME startTime,    /* [in] */ REFERENCE_TIME periodTime,    /* [in] */ HSEMAPHORE hSemaphore,    /* [out] */ DWORD_PTR *pdwAdviseCookie);void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy(    IReferenceClock * This,    /* [in] */ DWORD_PTR dwAdviseCookie);void __RPC_STUB IReferenceClock_Unadvise_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IReferenceClock_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0120 *//* [local] */typedef IReferenceClock *PREFERENCECLOCK;extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_s_ifspec;#ifndef __IReferenceClock2_INTERFACE_DEFINED__#define __IReferenceClock2_INTERFACE_DEFINED__/* interface IReferenceClock2 *//* [unique][uuid][object] */EXTERN_C const IID IID_IReferenceClock2;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60")    IReferenceClock2 : public IReferenceClock    {    public:    };#else 	/* C style interface */    typedef struct IReferenceClock2Vtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IReferenceClock2 * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IReferenceClock2 * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IReferenceClock2 * This);        HRESULT ( STDMETHODCALLTYPE *GetTime )(            IReferenceClock2 * This,            /* [out] */ REFERENCE_TIME *pTime);        HRESULT ( STDMETHODCALLTYPE *AdviseTime )(            IReferenceClock2 * This,            /* [in] */ REFERENCE_TIME baseTime,            /* [in] */ REFERENCE_TIME streamTime,            /* [in] */ HEVENT hEvent,            /* [out] */ DWORD_PTR *pdwAdviseCookie);        HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )(            IReferenceClock2 * This,            /* [in] */ REFERENCE_TIME startTime,            /* [in] */ REFERENCE_TIME periodTime,            /* [in] */ HSEMAPHORE hSemaphore,            /* [out] */ DWORD_PTR *pdwAdviseCookie);        HRESULT ( STDMETHODCALLTYPE *Unadvise )(            IReferenceClock2 * This,            /* [in] */ DWORD_PTR dwAdviseCookie);        END_INTERFACE    } IReferenceClock2Vtbl;    interface IReferenceClock2    {        CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;    };#ifdef COBJMACROS#define IReferenceClock2_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IReferenceClock2_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IReferenceClock2_Release(This)	\    (This)->lpVtbl -> Release(This)#define IReferenceClock2_GetTime(This,pTime)	\    (This)->lpVtbl -> GetTime(This,pTime)#define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)	\    (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)#define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)	\    (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)#define IReferenceClock2_Unadvise(This,dwAdviseCookie)	\    (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)#endif /* COBJMACROS */#endif 	/* C style interface */#endif 	/* __IReferenceClock2_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0121 *//* [local] */typedef IReferenceClock2 *PREFERENCECLOCK2;extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_s_ifspec;#ifndef __IMediaSample_INTERFACE_DEFINED__#define __IMediaSample_INTERFACE_DEFINED__/* interface IMediaSample *//* [unique][uuid][object][local] */EXTERN_C const IID IID_IMediaSample;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")    IMediaSample : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetPointer(            /* [out] */ BYTE **ppBuffer) = 0;        virtual long STDMETHODCALLTYPE GetSize( void) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTime(            /* [out] */ REFERENCE_TIME *pTimeStart,            /* [out] */ REFERENCE_TIME *pTimeEnd) = 0;        virtual HRESULT STDMETHODCALLTYPE SetTime(            /* [in] */ REFERENCE_TIME *pTimeStart,            /* [in] */ REFERENCE_TIME *pTimeEnd) = 0;        virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;        virtual HRESULT STDMETHODCALLTYPE SetSyncPoint(            BOOL bIsSyncPoint) = 0;        virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;        virtual HRESULT STDMETHODCALLTYPE SetPreroll(            BOOL bIsPreroll) = 0;        virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;        virtual HRESULT STDMETHODCALLTYPE SetActualDataLength(            long __MIDL_0010) = 0;        virtual HRESULT STDMETHODCALLTYPE GetMediaType(            AM_MEDIA_TYPE **ppMediaType) = 0;        virtual HRESULT STDMETHODCALLTYPE SetMediaType(            AM_MEDIA_TYPE *pMediaType) = 0;        virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;        virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity(            BOOL bDiscontinuity) = 0;        virtual HRESULT STDMETHODCALLTYPE GetMediaTime(            /* [out] */ LONGLONG *pTimeStart,            /* [out] */ LONGLONG *pTimeEnd) = 0;        virtual HRESULT STDMETHODCALLTYPE SetMediaTime(            /* [in] */ LONGLONG *pTimeStart,            /* [in] */ LONGLONG *pTimeEnd) = 0;    };#else 	/* C style interface */    typedef struct IMediaSampleVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IMediaSample * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IMediaSample * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IMediaSample * This);        HRESULT ( STDMETHODCALLTYPE *GetPointer )(            IMediaSample * This,            /* [out] */ BYTE **ppBuffer);        long ( STDMETHODCALLTYPE *GetSize )(            IMediaSample * This);        HRESULT ( STDMETHODCALLTYPE *GetTime )(            IMediaSample * This,            /* [out] */ REFERENCE_TIME *pTimeStart,            /* [out] */ REFERENCE_TIME *pTimeEnd);        HRESULT ( STDMETHODCALLTYPE *SetTime )(            IMediaSample * This,            /* [in] */ REFERENCE_TIME *pTimeStart,            /* [in] */ REFERENCE_TIME *pTimeEnd);        HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )(            IMediaSample * This);        HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )(            IMediaSample * This,            BOOL bIsSyncPoint);        HRESULT ( STDMETHODCALLTYPE *IsPreroll )(            IMediaSample * This);        HRESULT ( STDMETHODCALLTYPE *SetPreroll )(            IMediaSample * This,            BOOL bIsPreroll);        long ( STDMETHODCALLTYPE *GetActualDataLength )(            IMediaSample * This);        HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )(            IMediaSample * This,            long __MIDL_0010);        HRESULT ( STDMETHODCALLTYPE *GetMediaType )(            IMediaSample * This,            AM_MEDIA_TYPE **ppMediaType);        HRESULT ( STDMETHODCALLTYPE *SetMediaType )(            IMediaSample * This,            AM_MEDIA_TYPE *pMediaType);        HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )(            IMediaSample * This);        HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )(            IMediaSample * This,            BOOL bDiscontinuity);        HRESULT ( STDMETHODCALLTYPE *GetMediaTime )(            IMediaSample * This,            /* [out] */ LONGLONG *pTimeStart,            /* [out] */ LONGLONG *pTimeEnd);        HRESULT ( STDMETHODCALLTYPE *SetMediaTime )(            IMediaSample * This,            /* [in] */ LONGLONG *pTimeStart,            /* [in] */ LONGLONG *pTimeEnd);        END_INTERFACE    } IMediaSampleVtbl;    interface IMediaSample    {        CONST_VTBL struct IMediaSampleVtbl *lpVtbl;    };#ifdef COBJMACROS#define IMediaSample_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IMediaSample_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IMediaSample_Release(This)	\    (This)->lpVtbl -> Release(This)#define IMediaSample_GetPointer(This,ppBuffer)	\    (This)->lpVtbl -> GetPointer(This,ppBuffer)#define IMediaSample_GetSize(This)	\    (This)->lpVtbl -> GetSize(This)#define IMediaSample_GetTime(This,pTimeStart,pTimeEnd)	\    (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)#define IMediaSample_SetTime(This,pTimeStart,pTimeEnd)	\    (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)#define IMediaSample_IsSyncPoint(This)	\    (This)->lpVtbl -> IsSyncPoint(This)#define IMediaSample_SetSyncPoint(This,bIsSyncPoint)	\    (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)#define IMediaSample_IsPreroll(This)	\    (This)->lpVtbl -> IsPreroll(This)#define IMediaSample_SetPreroll(This,bIsPreroll)	\    (This)->lpVtbl -> SetPreroll(This,bIsPreroll)#define IMediaSample_GetActualDataLength(This)	\    (This)->lpVtbl -> GetActualDataLength(This)#define IMediaSample_SetActualDataLength(This,__MIDL_0010)	\    (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)#define IMediaSample_GetMediaType(This,ppMediaType)	\    (This)->lpVtbl -> GetMediaType(This,ppMediaType)#define IMediaSample_SetMediaType(This,pMediaType)	\    (This)->lpVtbl -> SetMediaType(This,pMediaType)#define IMediaSample_IsDiscontinuity(This)	\    (This)->lpVtbl -> IsDiscontinuity(This)#define IMediaSample_SetDiscontinuity(This,bDiscontinuity)	\    (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)#define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd)	\    (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)#define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd)	\    (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy(    IMediaSample * This,    /* [out] */ BYTE **ppBuffer);void __RPC_STUB IMediaSample_GetPointer_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);long STDMETHODCALLTYPE IMediaSample_GetSize_Proxy(    IMediaSample * This);void __RPC_STUB IMediaSample_GetSize_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy(    IMediaSample * This,    /* [out] */ REFERENCE_TIME *pTimeStart,    /* [out] */ REFERENCE_TIME *pTimeEnd);void __RPC_STUB IMediaSample_GetTime_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy(    IMediaSample * This,    /* [in] */ REFERENCE_TIME *pTimeStart,    /* [in] */ REFERENCE_TIME *pTimeEnd);void __RPC_STUB IMediaSample_SetTime_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy(    IMediaSample * This);void __RPC_STUB IMediaSample_IsSyncPoint_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy(    IMediaSample * This,    BOOL bIsSyncPoint);void __RPC_STUB IMediaSample_SetSyncPoint_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy(    IMediaSample * This);void __RPC_STUB IMediaSample_IsPreroll_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy(    IMediaSample * This,    BOOL bIsPreroll);void __RPC_STUB IMediaSample_SetPreroll_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);long STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy(    IMediaSample * This);void __RPC_STUB IMediaSample_GetActualDataLength_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy(    IMediaSample * This,    long __MIDL_0010);void __RPC_STUB IMediaSample_SetActualDataLength_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy(    IMediaSample * This,    AM_MEDIA_TYPE **ppMediaType);void __RPC_STUB IMediaSample_GetMediaType_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy(    IMediaSample * This,    AM_MEDIA_TYPE *pMediaType);void __RPC_STUB IMediaSample_SetMediaType_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy(    IMediaSample * This);void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy(    IMediaSample * This,    BOOL bDiscontinuity);void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy(    IMediaSample * This,    /* [out] */ LONGLONG *pTimeStart,    /* [out] */ LONGLONG *pTimeEnd);void __RPC_STUB IMediaSample_GetMediaTime_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy(    IMediaSample * This,    /* [in] */ LONGLONG *pTimeStart,    /* [in] */ LONGLONG *pTimeEnd);void __RPC_STUB IMediaSample_SetMediaTime_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IMediaSample_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0122 *//* [local] */typedef IMediaSample *PMEDIASAMPLE;enum tagAM_SAMPLE_PROPERTY_FLAGS    {	AM_SAMPLE_SPLICEPOINT	= 0x1,	AM_SAMPLE_PREROLL	= 0x2,	AM_SAMPLE_DATADISCONTINUITY	= 0x4,	AM_SAMPLE_TYPECHANGED	= 0x8,	AM_SAMPLE_TIMEVALID	= 0x10,	AM_SAMPLE_TIMEDISCONTINUITY	= 0x40,	AM_SAMPLE_FLUSH_ON_PAUSE	= 0x80,	AM_SAMPLE_STOPVALID	= 0x100,	AM_SAMPLE_ENDOFSTREAM	= 0x200,	AM_STREAM_MEDIA	= 0,	AM_STREAM_CONTROL	= 1    } ;typedef struct tagAM_SAMPLE2_PROPERTIES    {    DWORD cbData;    DWORD dwTypeSpecificFlags;    DWORD dwSampleFlags;    LONG lActual;    REFERENCE_TIME tStart;    REFERENCE_TIME tStop;    DWORD dwStreamId;    AM_MEDIA_TYPE *pMediaType;    BYTE *pbBuffer;    LONG cbBuffer;    } 	AM_SAMPLE2_PROPERTIES;extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_s_ifspec;#ifndef __IMediaSample2_INTERFACE_DEFINED__#define __IMediaSample2_INTERFACE_DEFINED__/* interface IMediaSample2 *//* [unique][uuid][object][local] */EXTERN_C const IID IID_IMediaSample2;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")    IMediaSample2 : public IMediaSample    {    public:        virtual HRESULT STDMETHODCALLTYPE GetProperties(            /* [in] */ DWORD cbProperties,            /* [size_is][out] */ BYTE *pbProperties) = 0;        virtual HRESULT STDMETHODCALLTYPE SetProperties(            /* [in] */ DWORD cbProperties,            /* [size_is][in] */ const BYTE *pbProperties) = 0;    };#else 	/* C style interface */    typedef struct IMediaSample2Vtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IMediaSample2 * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IMediaSample2 * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IMediaSample2 * This);        HRESULT ( STDMETHODCALLTYPE *GetPointer )(            IMediaSample2 * This,            /* [out] */ BYTE **ppBuffer);        long ( STDMETHODCALLTYPE *GetSize )(            IMediaSample2 * This);        HRESULT ( STDMETHODCALLTYPE *GetTime )(            IMediaSample2 * This,            /* [out] */ REFERENCE_TIME *pTimeStart,            /* [out] */ REFERENCE_TIME *pTimeEnd);        HRESULT ( STDMETHODCALLTYPE *SetTime )(            IMediaSample2 * This,            /* [in] */ REFERENCE_TIME *pTimeStart,            /* [in] */ REFERENCE_TIME *pTimeEnd);        HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )(            IMediaSample2 * This);        HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )(            IMediaSample2 * This,            BOOL bIsSyncPoint);        HRESULT ( STDMETHODCALLTYPE *IsPreroll )(            IMediaSample2 * This);        HRESULT ( STDMETHODCALLTYPE *SetPreroll )(            IMediaSample2 * This,            BOOL bIsPreroll);        long ( STDMETHODCALLTYPE *GetActualDataLength )(            IMediaSample2 * This);        HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )(            IMediaSample2 * This,            long __MIDL_0010);        HRESULT ( STDMETHODCALLTYPE *GetMediaType )(            IMediaSample2 * This,            AM_MEDIA_TYPE **ppMediaType);        HRESULT ( STDMETHODCALLTYPE *SetMediaType )(            IMediaSample2 * This,            AM_MEDIA_TYPE *pMediaType);        HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )(            IMediaSample2 * This);        HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )(            IMediaSample2 * This,            BOOL bDiscontinuity);        HRESULT ( STDMETHODCALLTYPE *GetMediaTime )(            IMediaSample2 * This,            /* [out] */ LONGLONG *pTimeStart,            /* [out] */ LONGLONG *pTimeEnd);        HRESULT ( STDMETHODCALLTYPE *SetMediaTime )(            IMediaSample2 * This,            /* [in] */ LONGLONG *pTimeStart,            /* [in] */ LONGLONG *pTimeEnd);        HRESULT ( STDMETHODCALLTYPE *GetProperties )(            IMediaSample2 * This,            /* [in] */ DWORD cbProperties,            /* [size_is][out] */ BYTE *pbProperties);        HRESULT ( STDMETHODCALLTYPE *SetProperties )(            IMediaSample2 * This,            /* [in] */ DWORD cbProperties,            /* [size_is][in] */ const BYTE *pbProperties);        END_INTERFACE    } IMediaSample2Vtbl;    interface IMediaSample2    {        CONST_VTBL struct IMediaSample2Vtbl *lpVtbl;    };#ifdef COBJMACROS#define IMediaSample2_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IMediaSample2_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IMediaSample2_Release(This)	\    (This)->lpVtbl -> Release(This)#define IMediaSample2_GetPointer(This,ppBuffer)	\    (This)->lpVtbl -> GetPointer(This,ppBuffer)#define IMediaSample2_GetSize(This)	\    (This)->lpVtbl -> GetSize(This)#define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd)	\    (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)#define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd)	\    (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)#define IMediaSample2_IsSyncPoint(This)	\    (This)->lpVtbl -> IsSyncPoint(This)#define IMediaSample2_SetSyncPoint(This,bIsSyncPoint)	\    (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)#define IMediaSample2_IsPreroll(This)	\    (This)->lpVtbl -> IsPreroll(This)#define IMediaSample2_SetPreroll(This,bIsPreroll)	\    (This)->lpVtbl -> SetPreroll(This,bIsPreroll)#define IMediaSample2_GetActualDataLength(This)	\    (This)->lpVtbl -> GetActualDataLength(This)#define IMediaSample2_SetActualDataLength(This,__MIDL_0010)	\    (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)#define IMediaSample2_GetMediaType(This,ppMediaType)	\    (This)->lpVtbl -> GetMediaType(This,ppMediaType)#define IMediaSample2_SetMediaType(This,pMediaType)	\    (This)->lpVtbl -> SetMediaType(This,pMediaType)#define IMediaSample2_IsDiscontinuity(This)	\    (This)->lpVtbl -> IsDiscontinuity(This)#define IMediaSample2_SetDiscontinuity(This,bDiscontinuity)	\    (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)#define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd)	\    (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)#define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd)	\    (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)#define IMediaSample2_GetProperties(This,cbProperties,pbProperties)	\    (This)->lpVtbl -> GetProperties(This,cbProperties,pbProperties)#define IMediaSample2_SetProperties(This,cbProperties,pbProperties)	\    (This)->lpVtbl -> SetProperties(This,cbProperties,pbProperties)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy(    IMediaSample2 * This,    /* [in] */ DWORD cbProperties,    /* [size_is][out] */ BYTE *pbProperties);void __RPC_STUB IMediaSample2_GetProperties_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy(    IMediaSample2 * This,    /* [in] */ DWORD cbProperties,    /* [size_is][in] */ const BYTE *pbProperties);void __RPC_STUB IMediaSample2_SetProperties_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IMediaSample2_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0123 *//* [local] */typedef IMediaSample2 *PMEDIASAMPLE2;#define AM_GBF_PREVFRAMESKIPPED 1#define AM_GBF_NOTASYNCPOINT 2#define AM_GBF_NOWAIT 4#define AM_GBF_NODDSURFACELOCK 8extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_s_ifspec;#ifndef __IMemAllocator_INTERFACE_DEFINED__#define __IMemAllocator_INTERFACE_DEFINED__/* interface IMemAllocator *//* [unique][uuid][object] */EXTERN_C const IID IID_IMemAllocator;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")    IMemAllocator : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetProperties(            /* [in] */ ALLOCATOR_PROPERTIES *pRequest,            /* [out] */ ALLOCATOR_PROPERTIES *pActual) = 0;        virtual HRESULT STDMETHODCALLTYPE GetProperties(            /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;        virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;        virtual HRESULT STDMETHODCALLTYPE GetBuffer(            /* [out] */ IMediaSample **ppBuffer,            /* [in] */ REFERENCE_TIME *pStartTime,            /* [in] */ REFERENCE_TIME *pEndTime,            /* [in] */ DWORD dwFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer(            /* [in] */ IMediaSample *pBuffer) = 0;    };#else 	/* C style interface */    typedef struct IMemAllocatorVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IMemAllocator * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IMemAllocator * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IMemAllocator * This);        HRESULT ( STDMETHODCALLTYPE *SetProperties )(            IMemAllocator * This,            /* [in] */ ALLOCATOR_PROPERTIES *pRequest,            /* [out] */ ALLOCATOR_PROPERTIES *pActual);        HRESULT ( STDMETHODCALLTYPE *GetProperties )(            IMemAllocator * This,            /* [out] */ ALLOCATOR_PROPERTIES *pProps);        HRESULT ( STDMETHODCALLTYPE *Commit )(            IMemAllocator * This);        HRESULT ( STDMETHODCALLTYPE *Decommit )(            IMemAllocator * This);        HRESULT ( STDMETHODCALLTYPE *GetBuffer )(            IMemAllocator * This,            /* [out] */ IMediaSample **ppBuffer,            /* [in] */ REFERENCE_TIME *pStartTime,            /* [in] */ REFERENCE_TIME *pEndTime,            /* [in] */ DWORD dwFlags);        HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(            IMemAllocator * This,            /* [in] */ IMediaSample *pBuffer);        END_INTERFACE    } IMemAllocatorVtbl;    interface IMemAllocator    {        CONST_VTBL struct IMemAllocatorVtbl *lpVtbl;    };#ifdef COBJMACROS#define IMemAllocator_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IMemAllocator_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IMemAllocator_Release(This)	\    (This)->lpVtbl -> Release(This)#define IMemAllocator_SetProperties(This,pRequest,pActual)	\    (This)->lpVtbl -> SetProperties(This,pRequest,pActual)#define IMemAllocator_GetProperties(This,pProps)	\    (This)->lpVtbl -> GetProperties(This,pProps)#define IMemAllocator_Commit(This)	\    (This)->lpVtbl -> Commit(This)#define IMemAllocator_Decommit(This)	\    (This)->lpVtbl -> Decommit(This)#define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)	\    (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)#define IMemAllocator_ReleaseBuffer(This,pBuffer)	\    (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy(    IMemAllocator * This,    /* [in] */ ALLOCATOR_PROPERTIES *pRequest,    /* [out] */ ALLOCATOR_PROPERTIES *pActual);void __RPC_STUB IMemAllocator_SetProperties_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy(    IMemAllocator * This,    /* [out] */ ALLOCATOR_PROPERTIES *pProps);void __RPC_STUB IMemAllocator_GetProperties_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy(    IMemAllocator * This);void __RPC_STUB IMemAllocator_Commit_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy(    IMemAllocator * This);void __RPC_STUB IMemAllocator_Decommit_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy(    IMemAllocator * This,    /* [out] */ IMediaSample **ppBuffer,    /* [in] */ REFERENCE_TIME *pStartTime,    /* [in] */ REFERENCE_TIME *pEndTime,    /* [in] */ DWORD dwFlags);void __RPC_STUB IMemAllocator_GetBuffer_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy(    IMemAllocator * This,    /* [in] */ IMediaSample *pBuffer);void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IMemAllocator_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0124 *//* [local] */typedef IMemAllocator *PMEMALLOCATOR;extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_s_ifspec;#ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__#define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__/* interface IMemAllocatorCallbackTemp *//* [unique][uuid][object] */EXTERN_C const IID IID_IMemAllocatorCallbackTemp;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")    IMemAllocatorCallbackTemp : public IMemAllocator    {    public:        virtual HRESULT STDMETHODCALLTYPE SetNotify(            /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify) = 0;        virtual HRESULT STDMETHODCALLTYPE GetFreeCount(            /* [out] */ LONG *plBuffersFree) = 0;    };#else 	/* C style interface */    typedef struct IMemAllocatorCallbackTempVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IMemAllocatorCallbackTemp * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IMemAllocatorCallbackTemp * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IMemAllocatorCallbackTemp * This);        HRESULT ( STDMETHODCALLTYPE *SetProperties )(            IMemAllocatorCallbackTemp * This,            /* [in] */ ALLOCATOR_PROPERTIES *pRequest,            /* [out] */ ALLOCATOR_PROPERTIES *pActual);        HRESULT ( STDMETHODCALLTYPE *GetProperties )(            IMemAllocatorCallbackTemp * This,            /* [out] */ ALLOCATOR_PROPERTIES *pProps);        HRESULT ( STDMETHODCALLTYPE *Commit )(            IMemAllocatorCallbackTemp * This);        HRESULT ( STDMETHODCALLTYPE *Decommit )(            IMemAllocatorCallbackTemp * This);        HRESULT ( STDMETHODCALLTYPE *GetBuffer )(            IMemAllocatorCallbackTemp * This,            /* [out] */ IMediaSample **ppBuffer,            /* [in] */ REFERENCE_TIME *pStartTime,            /* [in] */ REFERENCE_TIME *pEndTime,            /* [in] */ DWORD dwFlags);        HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )(            IMemAllocatorCallbackTemp * This,            /* [in] */ IMediaSample *pBuffer);        HRESULT ( STDMETHODCALLTYPE *SetNotify )(            IMemAllocatorCallbackTemp * This,            /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);        HRESULT ( STDMETHODCALLTYPE *GetFreeCount )(            IMemAllocatorCallbackTemp * This,            /* [out] */ LONG *plBuffersFree);        END_INTERFACE    } IMemAllocatorCallbackTempVtbl;    interface IMemAllocatorCallbackTemp    {        CONST_VTBL struct IMemAllocatorCallbackTempVtbl *lpVtbl;    };#ifdef COBJMACROS#define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IMemAllocatorCallbackTemp_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IMemAllocatorCallbackTemp_Release(This)	\    (This)->lpVtbl -> Release(This)#define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual)	\    (This)->lpVtbl -> SetProperties(This,pRequest,pActual)#define IMemAllocatorCallbackTemp_GetProperties(This,pProps)	\    (This)->lpVtbl -> GetProperties(This,pProps)#define IMemAllocatorCallbackTemp_Commit(This)	\    (This)->lpVtbl -> Commit(This)#define IMemAllocatorCallbackTemp_Decommit(This)	\    (This)->lpVtbl -> Decommit(This)#define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)	\    (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)#define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer)	\    (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)#define IMemAllocatorCallbackTemp_SetNotify(This,pNotify)	\    (This)->lpVtbl -> SetNotify(This,pNotify)#define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree)	\    (This)->lpVtbl -> GetFreeCount(This,plBuffersFree)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy(    IMemAllocatorCallbackTemp * This,    /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy(    IMemAllocatorCallbackTemp * This,    /* [out] */ LONG *plBuffersFree);void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */#ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__#define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__/* interface IMemAllocatorNotifyCallbackTemp *//* [unique][uuid][object] */EXTERN_C const IID IID_IMemAllocatorNotifyCallbackTemp;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")    IMemAllocatorNotifyCallbackTemp : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE NotifyRelease( void) = 0;    };#else 	/* C style interface */    typedef struct IMemAllocatorNotifyCallbackTempVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IMemAllocatorNotifyCallbackTemp * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IMemAllocatorNotifyCallbackTemp * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IMemAllocatorNotifyCallbackTemp * This);        HRESULT ( STDMETHODCALLTYPE *NotifyRelease )(            IMemAllocatorNotifyCallbackTemp * This);        END_INTERFACE    } IMemAllocatorNotifyCallbackTempVtbl;    interface IMemAllocatorNotifyCallbackTemp    {        CONST_VTBL struct IMemAllocatorNotifyCallbackTempVtbl *lpVtbl;    };#ifdef COBJMACROS#define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IMemAllocatorNotifyCallbackTemp_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IMemAllocatorNotifyCallbackTemp_Release(This)	\    (This)->lpVtbl -> Release(This)#define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This)	\    (This)->lpVtbl -> NotifyRelease(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy(    IMemAllocatorNotifyCallbackTemp * This);void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */#ifndef __IMemInputPin_INTERFACE_DEFINED__#define __IMemInputPin_INTERFACE_DEFINED__/* interface IMemInputPin *//* [unique][uuid][object] */EXTERN_C const IID IID_IMemInputPin;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")    IMemInputPin : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetAllocator(            /* [out] */ IMemAllocator **ppAllocator) = 0;        virtual HRESULT STDMETHODCALLTYPE NotifyAllocator(            /* [in] */ IMemAllocator *pAllocator,            /* [in] */ BOOL bReadOnly) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements(            /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;        virtual HRESULT STDMETHODCALLTYPE Receive(            /* [in] */ IMediaSample *pSample) = 0;        virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple(            /* [size_is][in] */ IMediaSample **pSamples,            /* [in] */ long nSamples,            /* [out] */ long *nSamplesProcessed) = 0;        virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( void) = 0;    };#else 	/* C style interface */    typedef struct IMemInputPinVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IMemInputPin * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IMemInputPin * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IMemInputPin * This);        HRESULT ( STDMETHODCALLTYPE *GetAllocator )(            IMemInputPin * This,            /* [out] */ IMemAllocator **ppAllocator);        HRESULT ( STDMETHODCALLTYPE *NotifyAllocator )(            IMemInputPin * This,            /* [in] */ IMemAllocator *pAllocator,            /* [in] */ BOOL bReadOnly);        HRESULT ( STDMETHODCALLTYPE *GetAllocatorRequirements )(            IMemInputPin * This,            /* [out] */ ALLOCATOR_PROPERTIES *pProps);        HRESULT ( STDMETHODCALLTYPE *Receive )(            IMemInputPin * This,            /* [in] */ IMediaSample *pSample);        HRESULT ( STDMETHODCALLTYPE *ReceiveMultiple )(            IMemInputPin * This,            /* [size_is][in] */ IMediaSample **pSamples,            /* [in] */ long nSamples,            /* [out] */ long *nSamplesProcessed);        HRESULT ( STDMETHODCALLTYPE *ReceiveCanBlock )(            IMemInputPin * This);        END_INTERFACE    } IMemInputPinVtbl;    interface IMemInputPin    {        CONST_VTBL struct IMemInputPinVtbl *lpVtbl;    };#ifdef COBJMACROS#define IMemInputPin_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IMemInputPin_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IMemInputPin_Release(This)	\    (This)->lpVtbl -> Release(This)#define IMemInputPin_GetAllocator(This,ppAllocator)	\    (This)->lpVtbl -> GetAllocator(This,ppAllocator)#define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly)	\    (This)->lpVtbl -> NotifyAllocator(This,pAllocator,bReadOnly)#define IMemInputPin_GetAllocatorRequirements(This,pProps)	\    (This)->lpVtbl -> GetAllocatorRequirements(This,pProps)#define IMemInputPin_Receive(This,pSample)	\    (This)->lpVtbl -> Receive(This,pSample)#define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)	\    (This)->lpVtbl -> ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)#define IMemInputPin_ReceiveCanBlock(This)	\    (This)->lpVtbl -> ReceiveCanBlock(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy(    IMemInputPin * This,    /* [out] */ IMemAllocator **ppAllocator);void __RPC_STUB IMemInputPin_GetAllocator_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy(    IMemInputPin * This,    /* [in] */ IMemAllocator *pAllocator,    /* [in] */ BOOL bReadOnly);void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy(    IMemInputPin * This,    /* [out] */ ALLOCATOR_PROPERTIES *pProps);void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy(    IMemInputPin * This,    /* [in] */ IMediaSample *pSample);void __RPC_STUB IMemInputPin_Receive_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy(    IMemInputPin * This,    /* [size_is][in] */ IMediaSample **pSamples,    /* [in] */ long nSamples,    /* [out] */ long *nSamplesProcessed);void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy(    IMemInputPin * This);void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IMemInputPin_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0127 *//* [local] */typedef IMemInputPin *PMEMINPUTPIN;extern RPC_IF_HANDLE __MIDL_itf_strmif_0127_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0127_v0_0_s_ifspec;#ifndef __IAMovieSetup_INTERFACE_DEFINED__#define __IAMovieSetup_INTERFACE_DEFINED__/* interface IAMovieSetup *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMovieSetup;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20")    IAMovieSetup : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Register( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Unregister( void) = 0;    };#else 	/* C style interface */    typedef struct IAMovieSetupVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMovieSetup * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMovieSetup * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMovieSetup * This);        HRESULT ( STDMETHODCALLTYPE *Register )(            IAMovieSetup * This);        HRESULT ( STDMETHODCALLTYPE *Unregister )(            IAMovieSetup * This);        END_INTERFACE    } IAMovieSetupVtbl;    interface IAMovieSetup    {        CONST_VTBL struct IAMovieSetupVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMovieSetup_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMovieSetup_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMovieSetup_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMovieSetup_Register(This)	\    (This)->lpVtbl -> Register(This)#define IAMovieSetup_Unregister(This)	\    (This)->lpVtbl -> Unregister(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy(    IAMovieSetup * This);void __RPC_STUB IAMovieSetup_Register_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy(    IAMovieSetup * This);void __RPC_STUB IAMovieSetup_Unregister_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMovieSetup_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0128 *//* [local] */typedef IAMovieSetup *PAMOVIESETUP;typedefenum AM_SEEKING_SeekingFlags    {	AM_SEEKING_NoPositioning	= 0,	AM_SEEKING_AbsolutePositioning	= 0x1,	AM_SEEKING_RelativePositioning	= 0x2,	AM_SEEKING_IncrementalPositioning	= 0x3,	AM_SEEKING_PositioningBitsMask	= 0x3,	AM_SEEKING_SeekToKeyFrame	= 0x4,	AM_SEEKING_ReturnTime	= 0x8,	AM_SEEKING_Segment	= 0x10,	AM_SEEKING_NoFlush	= 0x20    } 	AM_SEEKING_SEEKING_FLAGS;typedefenum AM_SEEKING_SeekingCapabilities    {	AM_SEEKING_CanSeekAbsolute	= 0x1,	AM_SEEKING_CanSeekForwards	= 0x2,	AM_SEEKING_CanSeekBackwards	= 0x4,	AM_SEEKING_CanGetCurrentPos	= 0x8,	AM_SEEKING_CanGetStopPos	= 0x10,	AM_SEEKING_CanGetDuration	= 0x20,	AM_SEEKING_CanPlayBackwards	= 0x40,	AM_SEEKING_CanDoSegments	= 0x80,	AM_SEEKING_Source	= 0x100    } 	AM_SEEKING_SEEKING_CAPABILITIES;extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_s_ifspec;#ifndef __IMediaSeeking_INTERFACE_DEFINED__#define __IMediaSeeking_INTERFACE_DEFINED__/* interface IMediaSeeking *//* [unique][uuid][object] */EXTERN_C const IID IID_IMediaSeeking;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60")    IMediaSeeking : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetCapabilities(            /* [out] */ DWORD *pCapabilities) = 0;        virtual HRESULT STDMETHODCALLTYPE CheckCapabilities(            /* [out][in] */ DWORD *pCapabilities) = 0;        virtual HRESULT STDMETHODCALLTYPE IsFormatSupported(            /* [in] */ const GUID *pFormat) = 0;        virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat(            /* [out] */ GUID *pFormat) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTimeFormat(            /* [out] */ GUID *pFormat) = 0;        virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat(            /* [in] */ const GUID *pFormat) = 0;        virtual HRESULT STDMETHODCALLTYPE SetTimeFormat(            /* [in] */ const GUID *pFormat) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDuration(            /* [out] */ LONGLONG *pDuration) = 0;        virtual HRESULT STDMETHODCALLTYPE GetStopPosition(            /* [out] */ LONGLONG *pStop) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(            /* [out] */ LONGLONG *pCurrent) = 0;        virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat(            /* [out] */ LONGLONG *pTarget,            /* [in] */ const GUID *pTargetFormat,            /* [in] */ LONGLONG Source,            /* [in] */ const GUID *pSourceFormat) = 0;        virtual HRESULT STDMETHODCALLTYPE SetPositions(            /* [out][in] */ LONGLONG *pCurrent,            /* [in] */ DWORD dwCurrentFlags,            /* [out][in] */ LONGLONG *pStop,            /* [in] */ DWORD dwStopFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE GetPositions(            /* [out] */ LONGLONG *pCurrent,            /* [out] */ LONGLONG *pStop) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAvailable(            /* [out] */ LONGLONG *pEarliest,            /* [out] */ LONGLONG *pLatest) = 0;        virtual HRESULT STDMETHODCALLTYPE SetRate(            /* [in] */ double dRate) = 0;        virtual HRESULT STDMETHODCALLTYPE GetRate(            /* [out] */ double *pdRate) = 0;        virtual HRESULT STDMETHODCALLTYPE GetPreroll(            /* [out] */ LONGLONG *pllPreroll) = 0;    };#else 	/* C style interface */    typedef struct IMediaSeekingVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IMediaSeeking * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IMediaSeeking * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IMediaSeeking * This);        HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(            IMediaSeeking * This,            /* [out] */ DWORD *pCapabilities);        HRESULT ( STDMETHODCALLTYPE *CheckCapabilities )(            IMediaSeeking * This,            /* [out][in] */ DWORD *pCapabilities);        HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )(            IMediaSeeking * This,            /* [in] */ const GUID *pFormat);        HRESULT ( STDMETHODCALLTYPE *QueryPreferredFormat )(            IMediaSeeking * This,            /* [out] */ GUID *pFormat);        HRESULT ( STDMETHODCALLTYPE *GetTimeFormat )(            IMediaSeeking * This,            /* [out] */ GUID *pFormat);        HRESULT ( STDMETHODCALLTYPE *IsUsingTimeFormat )(            IMediaSeeking * This,            /* [in] */ const GUID *pFormat);        HRESULT ( STDMETHODCALLTYPE *SetTimeFormat )(            IMediaSeeking * This,            /* [in] */ const GUID *pFormat);        HRESULT ( STDMETHODCALLTYPE *GetDuration )(            IMediaSeeking * This,            /* [out] */ LONGLONG *pDuration);        HRESULT ( STDMETHODCALLTYPE *GetStopPosition )(            IMediaSeeking * This,            /* [out] */ LONGLONG *pStop);        HRESULT ( STDMETHODCALLTYPE *GetCurrentPosition )(            IMediaSeeking * This,            /* [out] */ LONGLONG *pCurrent);        HRESULT ( STDMETHODCALLTYPE *ConvertTimeFormat )(            IMediaSeeking * This,            /* [out] */ LONGLONG *pTarget,            /* [in] */ const GUID *pTargetFormat,            /* [in] */ LONGLONG Source,            /* [in] */ const GUID *pSourceFormat);        HRESULT ( STDMETHODCALLTYPE *SetPositions )(            IMediaSeeking * This,            /* [out][in] */ LONGLONG *pCurrent,            /* [in] */ DWORD dwCurrentFlags,            /* [out][in] */ LONGLONG *pStop,            /* [in] */ DWORD dwStopFlags);        HRESULT ( STDMETHODCALLTYPE *GetPositions )(            IMediaSeeking * This,            /* [out] */ LONGLONG *pCurrent,            /* [out] */ LONGLONG *pStop);        HRESULT ( STDMETHODCALLTYPE *GetAvailable )(            IMediaSeeking * This,            /* [out] */ LONGLONG *pEarliest,            /* [out] */ LONGLONG *pLatest);        HRESULT ( STDMETHODCALLTYPE *SetRate )(            IMediaSeeking * This,            /* [in] */ double dRate);        HRESULT ( STDMETHODCALLTYPE *GetRate )(            IMediaSeeking * This,            /* [out] */ double *pdRate);        HRESULT ( STDMETHODCALLTYPE *GetPreroll )(            IMediaSeeking * This,            /* [out] */ LONGLONG *pllPreroll);        END_INTERFACE    } IMediaSeekingVtbl;    interface IMediaSeeking    {        CONST_VTBL struct IMediaSeekingVtbl *lpVtbl;    };#ifdef COBJMACROS#define IMediaSeeking_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IMediaSeeking_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IMediaSeeking_Release(This)	\    (This)->lpVtbl -> Release(This)#define IMediaSeeking_GetCapabilities(This,pCapabilities)	\    (This)->lpVtbl -> GetCapabilities(This,pCapabilities)#define IMediaSeeking_CheckCapabilities(This,pCapabilities)	\    (This)->lpVtbl -> CheckCapabilities(This,pCapabilities)#define IMediaSeeking_IsFormatSupported(This,pFormat)	\    (This)->lpVtbl -> IsFormatSupported(This,pFormat)#define IMediaSeeking_QueryPreferredFormat(This,pFormat)	\    (This)->lpVtbl -> QueryPreferredFormat(This,pFormat)#define IMediaSeeking_GetTimeFormat(This,pFormat)	\    (This)->lpVtbl -> GetTimeFormat(This,pFormat)#define IMediaSeeking_IsUsingTimeFormat(This,pFormat)	\    (This)->lpVtbl -> IsUsingTimeFormat(This,pFormat)#define IMediaSeeking_SetTimeFormat(This,pFormat)	\    (This)->lpVtbl -> SetTimeFormat(This,pFormat)#define IMediaSeeking_GetDuration(This,pDuration)	\    (This)->lpVtbl -> GetDuration(This,pDuration)#define IMediaSeeking_GetStopPosition(This,pStop)	\    (This)->lpVtbl -> GetStopPosition(This,pStop)#define IMediaSeeking_GetCurrentPosition(This,pCurrent)	\    (This)->lpVtbl -> GetCurrentPosition(This,pCurrent)#define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)	\    (This)->lpVtbl -> ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)#define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)	\    (This)->lpVtbl -> SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)#define IMediaSeeking_GetPositions(This,pCurrent,pStop)	\    (This)->lpVtbl -> GetPositions(This,pCurrent,pStop)#define IMediaSeeking_GetAvailable(This,pEarliest,pLatest)	\    (This)->lpVtbl -> GetAvailable(This,pEarliest,pLatest)#define IMediaSeeking_SetRate(This,dRate)	\    (This)->lpVtbl -> SetRate(This,dRate)#define IMediaSeeking_GetRate(This,pdRate)	\    (This)->lpVtbl -> GetRate(This,pdRate)#define IMediaSeeking_GetPreroll(This,pllPreroll)	\    (This)->lpVtbl -> GetPreroll(This,pllPreroll)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy(    IMediaSeeking * This,    /* [out] */ DWORD *pCapabilities);void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy(    IMediaSeeking * This,    /* [out][in] */ DWORD *pCapabilities);void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy(    IMediaSeeking * This,    /* [in] */ const GUID *pFormat);void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy(    IMediaSeeking * This,    /* [out] */ GUID *pFormat);void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy(    IMediaSeeking * This,    /* [out] */ GUID *pFormat);void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy(    IMediaSeeking * This,    /* [in] */ const GUID *pFormat);void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy(    IMediaSeeking * This,    /* [in] */ const GUID *pFormat);void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy(    IMediaSeeking * This,    /* [out] */ LONGLONG *pDuration);void __RPC_STUB IMediaSeeking_GetDuration_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy(    IMediaSeeking * This,    /* [out] */ LONGLONG *pStop);void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy(    IMediaSeeking * This,    /* [out] */ LONGLONG *pCurrent);void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy(    IMediaSeeking * This,    /* [out] */ LONGLONG *pTarget,    /* [in] */ const GUID *pTargetFormat,    /* [in] */ LONGLONG Source,    /* [in] */ const GUID *pSourceFormat);void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy(    IMediaSeeking * This,    /* [out][in] */ LONGLONG *pCurrent,    /* [in] */ DWORD dwCurrentFlags,    /* [out][in] */ LONGLONG *pStop,    /* [in] */ DWORD dwStopFlags);void __RPC_STUB IMediaSeeking_SetPositions_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy(    IMediaSeeking * This,    /* [out] */ LONGLONG *pCurrent,    /* [out] */ LONGLONG *pStop);void __RPC_STUB IMediaSeeking_GetPositions_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy(    IMediaSeeking * This,    /* [out] */ LONGLONG *pEarliest,    /* [out] */ LONGLONG *pLatest);void __RPC_STUB IMediaSeeking_GetAvailable_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy(    IMediaSeeking * This,    /* [in] */ double dRate);void __RPC_STUB IMediaSeeking_SetRate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy(    IMediaSeeking * This,    /* [out] */ double *pdRate);void __RPC_STUB IMediaSeeking_GetRate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy(    IMediaSeeking * This,    /* [out] */ LONGLONG *pllPreroll);void __RPC_STUB IMediaSeeking_GetPreroll_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IMediaSeeking_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0129 *//* [local] */typedef IMediaSeeking *PMEDIASEEKING;enum tagAM_MEDIAEVENT_FLAGS{    AM_MEDIAEVENT_NONOTIFY = 0x01};typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0129_0001    {    CLSID Clsid;    LPWSTR Name;    } 	REGFILTER;extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_s_ifspec;#ifndef __IEnumRegFilters_INTERFACE_DEFINED__#define __IEnumRegFilters_INTERFACE_DEFINED__/* interface IEnumRegFilters *//* [unique][uuid][object] */EXTERN_C const IID IID_IEnumRegFilters;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770")    IEnumRegFilters : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Next(            /* [in] */ ULONG cFilters,            /* [out] */ REGFILTER **apRegFilter,            /* [out] */ ULONG *pcFetched) = 0;        virtual HRESULT STDMETHODCALLTYPE Skip(            /* [in] */ ULONG cFilters) = 0;        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Clone(            /* [out] */ IEnumRegFilters **ppEnum) = 0;    };#else 	/* C style interface */    typedef struct IEnumRegFiltersVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IEnumRegFilters * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IEnumRegFilters * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IEnumRegFilters * This);        HRESULT ( STDMETHODCALLTYPE *Next )(            IEnumRegFilters * This,            /* [in] */ ULONG cFilters,            /* [out] */ REGFILTER **apRegFilter,            /* [out] */ ULONG *pcFetched);        HRESULT ( STDMETHODCALLTYPE *Skip )(            IEnumRegFilters * This,            /* [in] */ ULONG cFilters);        HRESULT ( STDMETHODCALLTYPE *Reset )(            IEnumRegFilters * This);        HRESULT ( STDMETHODCALLTYPE *Clone )(            IEnumRegFilters * This,            /* [out] */ IEnumRegFilters **ppEnum);        END_INTERFACE    } IEnumRegFiltersVtbl;    interface IEnumRegFilters    {        CONST_VTBL struct IEnumRegFiltersVtbl *lpVtbl;    };#ifdef COBJMACROS#define IEnumRegFilters_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IEnumRegFilters_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IEnumRegFilters_Release(This)	\    (This)->lpVtbl -> Release(This)#define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched)	\    (This)->lpVtbl -> Next(This,cFilters,apRegFilter,pcFetched)#define IEnumRegFilters_Skip(This,cFilters)	\    (This)->lpVtbl -> Skip(This,cFilters)#define IEnumRegFilters_Reset(This)	\    (This)->lpVtbl -> Reset(This)#define IEnumRegFilters_Clone(This,ppEnum)	\    (This)->lpVtbl -> Clone(This,ppEnum)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy(    IEnumRegFilters * This,    /* [in] */ ULONG cFilters,    /* [out] */ REGFILTER **apRegFilter,    /* [out] */ ULONG *pcFetched);void __RPC_STUB IEnumRegFilters_Next_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy(    IEnumRegFilters * This,    /* [in] */ ULONG cFilters);void __RPC_STUB IEnumRegFilters_Skip_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy(    IEnumRegFilters * This);void __RPC_STUB IEnumRegFilters_Reset_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy(    IEnumRegFilters * This,    /* [out] */ IEnumRegFilters **ppEnum);void __RPC_STUB IEnumRegFilters_Clone_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IEnumRegFilters_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0131 *//* [local] */typedef IEnumRegFilters *PENUMREGFILTERS;extern RPC_IF_HANDLE __MIDL_itf_strmif_0131_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0131_v0_0_s_ifspec;#ifndef __IFilterMapper_INTERFACE_DEFINED__#define __IFilterMapper_INTERFACE_DEFINED__/* interface IFilterMapper *//* [unique][uuid][object] */enum __MIDL_IFilterMapper_0001    {	MERIT_PREFERRED	= 0x800000,	MERIT_NORMAL	= 0x600000,	MERIT_UNLIKELY	= 0x400000,	MERIT_DO_NOT_USE	= 0x200000,	MERIT_SW_COMPRESSOR	= 0x100000,	MERIT_HW_COMPRESSOR	= 0x100050    } ;EXTERN_C const IID IID_IFilterMapper;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770")    IFilterMapper : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE RegisterFilter(            /* [in] */ CLSID clsid,            /* [in] */ LPCWSTR Name,            /* [in] */ DWORD dwMerit) = 0;        virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance(            /* [in] */ CLSID clsid,            /* [in] */ LPCWSTR Name,            /* [out] */ CLSID *MRId) = 0;        virtual HRESULT STDMETHODCALLTYPE RegisterPin(            /* [in] */ CLSID Filter,            /* [in] */ LPCWSTR Name,            /* [in] */ BOOL bRendered,            /* [in] */ BOOL bOutput,            /* [in] */ BOOL bZero,            /* [in] */ BOOL bMany,            /* [in] */ CLSID ConnectsToFilter,            /* [in] */ LPCWSTR ConnectsToPin) = 0;        virtual HRESULT STDMETHODCALLTYPE RegisterPinType(            /* [in] */ CLSID clsFilter,            /* [in] */ LPCWSTR strName,            /* [in] */ CLSID clsMajorType,            /* [in] */ CLSID clsSubType) = 0;        virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(            /* [in] */ CLSID Filter) = 0;        virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance(            /* [in] */ CLSID MRId) = 0;        virtual HRESULT STDMETHODCALLTYPE UnregisterPin(            /* [in] */ CLSID Filter,            /* [in] */ LPCWSTR Name) = 0;        virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(            /* [out] */ IEnumRegFilters **ppEnum,            /* [in] */ DWORD dwMerit,            /* [in] */ BOOL bInputNeeded,            /* [in] */ CLSID clsInMaj,            /* [in] */ CLSID clsInSub,            /* [in] */ BOOL bRender,            /* [in] */ BOOL bOututNeeded,            /* [in] */ CLSID clsOutMaj,            /* [in] */ CLSID clsOutSub) = 0;    };#else 	/* C style interface */    typedef struct IFilterMapperVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IFilterMapper * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IFilterMapper * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IFilterMapper * This);        HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(            IFilterMapper * This,            /* [in] */ CLSID clsid,            /* [in] */ LPCWSTR Name,            /* [in] */ DWORD dwMerit);        HRESULT ( STDMETHODCALLTYPE *RegisterFilterInstance )(            IFilterMapper * This,            /* [in] */ CLSID clsid,            /* [in] */ LPCWSTR Name,            /* [out] */ CLSID *MRId);        HRESULT ( STDMETHODCALLTYPE *RegisterPin )(            IFilterMapper * This,            /* [in] */ CLSID Filter,            /* [in] */ LPCWSTR Name,            /* [in] */ BOOL bRendered,            /* [in] */ BOOL bOutput,            /* [in] */ BOOL bZero,            /* [in] */ BOOL bMany,            /* [in] */ CLSID ConnectsToFilter,            /* [in] */ LPCWSTR ConnectsToPin);        HRESULT ( STDMETHODCALLTYPE *RegisterPinType )(            IFilterMapper * This,            /* [in] */ CLSID clsFilter,            /* [in] */ LPCWSTR strName,            /* [in] */ CLSID clsMajorType,            /* [in] */ CLSID clsSubType);        HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )(            IFilterMapper * This,            /* [in] */ CLSID Filter);        HRESULT ( STDMETHODCALLTYPE *UnregisterFilterInstance )(            IFilterMapper * This,            /* [in] */ CLSID MRId);        HRESULT ( STDMETHODCALLTYPE *UnregisterPin )(            IFilterMapper * This,            /* [in] */ CLSID Filter,            /* [in] */ LPCWSTR Name);        HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(            IFilterMapper * This,            /* [out] */ IEnumRegFilters **ppEnum,            /* [in] */ DWORD dwMerit,            /* [in] */ BOOL bInputNeeded,            /* [in] */ CLSID clsInMaj,            /* [in] */ CLSID clsInSub,            /* [in] */ BOOL bRender,            /* [in] */ BOOL bOututNeeded,            /* [in] */ CLSID clsOutMaj,            /* [in] */ CLSID clsOutSub);        END_INTERFACE    } IFilterMapperVtbl;    interface IFilterMapper    {        CONST_VTBL struct IFilterMapperVtbl *lpVtbl;    };#ifdef COBJMACROS#define IFilterMapper_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IFilterMapper_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IFilterMapper_Release(This)	\    (This)->lpVtbl -> Release(This)#define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit)	\    (This)->lpVtbl -> RegisterFilter(This,clsid,Name,dwMerit)#define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId)	\    (This)->lpVtbl -> RegisterFilterInstance(This,clsid,Name,MRId)#define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)	\    (This)->lpVtbl -> RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)#define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)	\    (This)->lpVtbl -> RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)#define IFilterMapper_UnregisterFilter(This,Filter)	\    (This)->lpVtbl -> UnregisterFilter(This,Filter)#define IFilterMapper_UnregisterFilterInstance(This,MRId)	\    (This)->lpVtbl -> UnregisterFilterInstance(This,MRId)#define IFilterMapper_UnregisterPin(This,Filter,Name)	\    (This)->lpVtbl -> UnregisterPin(This,Filter,Name)#define IFilterMapper_EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)	\    (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy(    IFilterMapper * This,    /* [in] */ CLSID clsid,    /* [in] */ LPCWSTR Name,    /* [in] */ DWORD dwMerit);void __RPC_STUB IFilterMapper_RegisterFilter_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy(    IFilterMapper * This,    /* [in] */ CLSID clsid,    /* [in] */ LPCWSTR Name,    /* [out] */ CLSID *MRId);void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy(    IFilterMapper * This,    /* [in] */ CLSID Filter,    /* [in] */ LPCWSTR Name,    /* [in] */ BOOL bRendered,    /* [in] */ BOOL bOutput,    /* [in] */ BOOL bZero,    /* [in] */ BOOL bMany,    /* [in] */ CLSID ConnectsToFilter,    /* [in] */ LPCWSTR ConnectsToPin);void __RPC_STUB IFilterMapper_RegisterPin_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy(    IFilterMapper * This,    /* [in] */ CLSID clsFilter,    /* [in] */ LPCWSTR strName,    /* [in] */ CLSID clsMajorType,    /* [in] */ CLSID clsSubType);void __RPC_STUB IFilterMapper_RegisterPinType_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy(    IFilterMapper * This,    /* [in] */ CLSID Filter);void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy(    IFilterMapper * This,    /* [in] */ CLSID MRId);void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy(    IFilterMapper * This,    /* [in] */ CLSID Filter,    /* [in] */ LPCWSTR Name);void __RPC_STUB IFilterMapper_UnregisterPin_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy(    IFilterMapper * This,    /* [out] */ IEnumRegFilters **ppEnum,    /* [in] */ DWORD dwMerit,    /* [in] */ BOOL bInputNeeded,    /* [in] */ CLSID clsInMaj,    /* [in] */ CLSID clsInSub,    /* [in] */ BOOL bRender,    /* [in] */ BOOL bOututNeeded,    /* [in] */ CLSID clsOutMaj,    /* [in] */ CLSID clsOutSub);void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IFilterMapper_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0133 *//* [local] */typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0133_0001    {    const CLSID *clsMajorType;    const CLSID *clsMinorType;    } 	REGPINTYPES;typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0133_0002    {    LPWSTR strName;    BOOL bRendered;    BOOL bOutput;    BOOL bZero;    BOOL bMany;    const CLSID *clsConnectsToFilter;    const WCHAR *strConnectsToPin;    UINT nMediaTypes;    const REGPINTYPES *lpMediaType;    } 	REGFILTERPINS;typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0133_0003    {    CLSID clsMedium;    DWORD dw1;    DWORD dw2;    } 	REGPINMEDIUM;enum __MIDL___MIDL_itf_strmif_0133_0004    {	REG_PINFLAG_B_ZERO	= 0x1,	REG_PINFLAG_B_RENDERER	= 0x2,	REG_PINFLAG_B_MANY	= 0x4,	REG_PINFLAG_B_OUTPUT	= 0x8    } ;typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0133_0005    {    DWORD dwFlags;    UINT cInstances;    UINT nMediaTypes;    /* [size_is] */ const REGPINTYPES *lpMediaType;    UINT nMediums;    /* [size_is] */ const REGPINMEDIUM *lpMedium;    const CLSID *clsPinCategory;    } 	REGFILTERPINS2;typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0133_0006    {    DWORD dwVersion;    DWORD dwMerit;    /* [switch_type][switch_is] */ union        {        /* [case()] */ struct            {            ULONG cPins;            /* [size_is] */ const REGFILTERPINS *rgPins;            } 	;        /* [case()] */ struct            {            ULONG cPins2;            /* [size_is] */ const REGFILTERPINS2 *rgPins2;            } 	;        /* [default] */  /* Empty union arm */        } 	;    } 	REGFILTER2;extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_s_ifspec;#ifndef __IFilterMapper2_INTERFACE_DEFINED__#define __IFilterMapper2_INTERFACE_DEFINED__/* interface IFilterMapper2 *//* [unique][uuid][object] */EXTERN_C const IID IID_IFilterMapper2;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375")    IFilterMapper2 : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE CreateCategory(            /* [in] */ REFCLSID clsidCategory,            /* [in] */ DWORD dwCategoryMerit,            /* [in] */ LPCWSTR Description) = 0;        virtual HRESULT STDMETHODCALLTYPE UnregisterFilter(            /* [in] */ const CLSID *pclsidCategory,            /* [in] */ const OLECHAR *szInstance,            /* [in] */ REFCLSID Filter) = 0;        virtual HRESULT STDMETHODCALLTYPE RegisterFilter(            /* [in] */ REFCLSID clsidFilter,            /* [in] */ LPCWSTR Name,            /* [out][in] */ IMoniker **ppMoniker,            /* [in] */ const CLSID *pclsidCategory,            /* [in] */ const OLECHAR *szInstance,            /* [in] */ const REGFILTER2 *prf2) = 0;        virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters(            /* [out] */ IEnumMoniker **ppEnum,            /* [in] */ DWORD dwFlags,            /* [in] */ BOOL bExactMatch,            /* [in] */ DWORD dwMerit,            /* [in] */ BOOL bInputNeeded,            /* [in] */ DWORD cInputTypes,            /* [size_is] */ const GUID *pInputTypes,            /* [in] */ const REGPINMEDIUM *pMedIn,            /* [in] */ const CLSID *pPinCategoryIn,            /* [in] */ BOOL bRender,            /* [in] */ BOOL bOutputNeeded,            /* [in] */ DWORD cOutputTypes,            /* [size_is] */ const GUID *pOutputTypes,            /* [in] */ const REGPINMEDIUM *pMedOut,            /* [in] */ const CLSID *pPinCategoryOut) = 0;    };#else 	/* C style interface */    typedef struct IFilterMapper2Vtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IFilterMapper2 * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IFilterMapper2 * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IFilterMapper2 * This);        HRESULT ( STDMETHODCALLTYPE *CreateCategory )(            IFilterMapper2 * This,            /* [in] */ REFCLSID clsidCategory,            /* [in] */ DWORD dwCategoryMerit,            /* [in] */ LPCWSTR Description);        HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )(            IFilterMapper2 * This,            /* [in] */ const CLSID *pclsidCategory,            /* [in] */ const OLECHAR *szInstance,            /* [in] */ REFCLSID Filter);        HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(            IFilterMapper2 * This,            /* [in] */ REFCLSID clsidFilter,            /* [in] */ LPCWSTR Name,            /* [out][in] */ IMoniker **ppMoniker,            /* [in] */ const CLSID *pclsidCategory,            /* [in] */ const OLECHAR *szInstance,            /* [in] */ const REGFILTER2 *prf2);        HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(            IFilterMapper2 * This,            /* [out] */ IEnumMoniker **ppEnum,            /* [in] */ DWORD dwFlags,            /* [in] */ BOOL bExactMatch,            /* [in] */ DWORD dwMerit,            /* [in] */ BOOL bInputNeeded,            /* [in] */ DWORD cInputTypes,            /* [size_is] */ const GUID *pInputTypes,            /* [in] */ const REGPINMEDIUM *pMedIn,            /* [in] */ const CLSID *pPinCategoryIn,            /* [in] */ BOOL bRender,            /* [in] */ BOOL bOutputNeeded,            /* [in] */ DWORD cOutputTypes,            /* [size_is] */ const GUID *pOutputTypes,            /* [in] */ const REGPINMEDIUM *pMedOut,            /* [in] */ const CLSID *pPinCategoryOut);        END_INTERFACE    } IFilterMapper2Vtbl;    interface IFilterMapper2    {        CONST_VTBL struct IFilterMapper2Vtbl *lpVtbl;    };#ifdef COBJMACROS#define IFilterMapper2_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IFilterMapper2_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IFilterMapper2_Release(This)	\    (This)->lpVtbl -> Release(This)#define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description)	\    (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)#define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter)	\    (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)#define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)	\    (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)#define IFilterMapper2_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)	\    (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy(    IFilterMapper2 * This,    /* [in] */ REFCLSID clsidCategory,    /* [in] */ DWORD dwCategoryMerit,    /* [in] */ LPCWSTR Description);void __RPC_STUB IFilterMapper2_CreateCategory_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy(    IFilterMapper2 * This,    /* [in] */ const CLSID *pclsidCategory,    /* [in] */ const OLECHAR *szInstance,    /* [in] */ REFCLSID Filter);void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy(    IFilterMapper2 * This,    /* [in] */ REFCLSID clsidFilter,    /* [in] */ LPCWSTR Name,    /* [out][in] */ IMoniker **ppMoniker,    /* [in] */ const CLSID *pclsidCategory,    /* [in] */ const OLECHAR *szInstance,    /* [in] */ const REGFILTER2 *prf2);void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy(    IFilterMapper2 * This,    /* [out] */ IEnumMoniker **ppEnum,    /* [in] */ DWORD dwFlags,    /* [in] */ BOOL bExactMatch,    /* [in] */ DWORD dwMerit,    /* [in] */ BOOL bInputNeeded,    /* [in] */ DWORD cInputTypes,    /* [size_is] */ const GUID *pInputTypes,    /* [in] */ const REGPINMEDIUM *pMedIn,    /* [in] */ const CLSID *pPinCategoryIn,    /* [in] */ BOOL bRender,    /* [in] */ BOOL bOutputNeeded,    /* [in] */ DWORD cOutputTypes,    /* [size_is] */ const GUID *pOutputTypes,    /* [in] */ const REGPINMEDIUM *pMedOut,    /* [in] */ const CLSID *pPinCategoryOut);void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IFilterMapper2_INTERFACE_DEFINED__ */#ifndef __IFilterMapper3_INTERFACE_DEFINED__#define __IFilterMapper3_INTERFACE_DEFINED__/* interface IFilterMapper3 *//* [unique][uuid][object] */EXTERN_C const IID IID_IFilterMapper3;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375")    IFilterMapper3 : public IFilterMapper2    {    public:        virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum(            /* [out] */ ICreateDevEnum **ppEnum) = 0;    };#else 	/* C style interface */    typedef struct IFilterMapper3Vtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IFilterMapper3 * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IFilterMapper3 * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IFilterMapper3 * This);        HRESULT ( STDMETHODCALLTYPE *CreateCategory )(            IFilterMapper3 * This,            /* [in] */ REFCLSID clsidCategory,            /* [in] */ DWORD dwCategoryMerit,            /* [in] */ LPCWSTR Description);        HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )(            IFilterMapper3 * This,            /* [in] */ const CLSID *pclsidCategory,            /* [in] */ const OLECHAR *szInstance,            /* [in] */ REFCLSID Filter);        HRESULT ( STDMETHODCALLTYPE *RegisterFilter )(            IFilterMapper3 * This,            /* [in] */ REFCLSID clsidFilter,            /* [in] */ LPCWSTR Name,            /* [out][in] */ IMoniker **ppMoniker,            /* [in] */ const CLSID *pclsidCategory,            /* [in] */ const OLECHAR *szInstance,            /* [in] */ const REGFILTER2 *prf2);        HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )(            IFilterMapper3 * This,            /* [out] */ IEnumMoniker **ppEnum,            /* [in] */ DWORD dwFlags,            /* [in] */ BOOL bExactMatch,            /* [in] */ DWORD dwMerit,            /* [in] */ BOOL bInputNeeded,            /* [in] */ DWORD cInputTypes,            /* [size_is] */ const GUID *pInputTypes,            /* [in] */ const REGPINMEDIUM *pMedIn,            /* [in] */ const CLSID *pPinCategoryIn,            /* [in] */ BOOL bRender,            /* [in] */ BOOL bOutputNeeded,            /* [in] */ DWORD cOutputTypes,            /* [size_is] */ const GUID *pOutputTypes,            /* [in] */ const REGPINMEDIUM *pMedOut,            /* [in] */ const CLSID *pPinCategoryOut);        HRESULT ( STDMETHODCALLTYPE *GetICreateDevEnum )(            IFilterMapper3 * This,            /* [out] */ ICreateDevEnum **ppEnum);        END_INTERFACE    } IFilterMapper3Vtbl;    interface IFilterMapper3    {        CONST_VTBL struct IFilterMapper3Vtbl *lpVtbl;    };#ifdef COBJMACROS#define IFilterMapper3_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IFilterMapper3_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IFilterMapper3_Release(This)	\    (This)->lpVtbl -> Release(This)#define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description)	\    (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)#define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter)	\    (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)#define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)	\    (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)#define IFilterMapper3_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)	\    (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)#define IFilterMapper3_GetICreateDevEnum(This,ppEnum)	\    (This)->lpVtbl -> GetICreateDevEnum(This,ppEnum)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IFilterMapper3_GetICreateDevEnum_Proxy(    IFilterMapper3 * This,    /* [out] */ ICreateDevEnum **ppEnum);void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IFilterMapper3_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0136 *//* [local] */typedefenum tagQualityMessageType    {	Famine	= 0,	Flood	= Famine + 1    } 	QualityMessageType;typedef struct tagQuality    {    QualityMessageType Type;    long Proportion;    REFERENCE_TIME Late;    REFERENCE_TIME TimeStamp;    } 	Quality;typedef IQualityControl *PQUALITYCONTROL;extern RPC_IF_HANDLE __MIDL_itf_strmif_0136_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0136_v0_0_s_ifspec;#ifndef __IQualityControl_INTERFACE_DEFINED__#define __IQualityControl_INTERFACE_DEFINED__/* interface IQualityControl *//* [unique][uuid][object] */EXTERN_C const IID IID_IQualityControl;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770")    IQualityControl : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Notify(            /* [in] */ IBaseFilter *pSelf,            /* [in] */ Quality q) = 0;        virtual HRESULT STDMETHODCALLTYPE SetSink(            /* [in] */ IQualityControl *piqc) = 0;    };#else 	/* C style interface */    typedef struct IQualityControlVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IQualityControl * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IQualityControl * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IQualityControl * This);        HRESULT ( STDMETHODCALLTYPE *Notify )(            IQualityControl * This,            /* [in] */ IBaseFilter *pSelf,            /* [in] */ Quality q);        HRESULT ( STDMETHODCALLTYPE *SetSink )(            IQualityControl * This,            /* [in] */ IQualityControl *piqc);        END_INTERFACE    } IQualityControlVtbl;    interface IQualityControl    {        CONST_VTBL struct IQualityControlVtbl *lpVtbl;    };#ifdef COBJMACROS#define IQualityControl_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IQualityControl_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IQualityControl_Release(This)	\    (This)->lpVtbl -> Release(This)#define IQualityControl_Notify(This,pSelf,q)	\    (This)->lpVtbl -> Notify(This,pSelf,q)#define IQualityControl_SetSink(This,piqc)	\    (This)->lpVtbl -> SetSink(This,piqc)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy(    IQualityControl * This,    /* [in] */ IBaseFilter *pSelf,    /* [in] */ Quality q);void __RPC_STUB IQualityControl_Notify_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy(    IQualityControl * This,    /* [in] */ IQualityControl *piqc);void __RPC_STUB IQualityControl_SetSink_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IQualityControl_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0137 *//* [local] */enum __MIDL___MIDL_itf_strmif_0137_0001    {	CK_NOCOLORKEY	= 0,	CK_INDEX	= 0x1,	CK_RGB	= 0x2    } ;typedef struct tagCOLORKEY    {    DWORD KeyType;    DWORD PaletteIndex;    COLORREF LowColorValue;    COLORREF HighColorValue;    } 	COLORKEY;enum __MIDL___MIDL_itf_strmif_0137_0002    {	ADVISE_NONE	= 0,	ADVISE_CLIPPING	= 0x1,	ADVISE_PALETTE	= 0x2,	ADVISE_COLORKEY	= 0x4,	ADVISE_POSITION	= 0x8,	ADVISE_DISPLAY_CHANGE	= 0x10    } ;#define	ADVISE_ALL	( ADVISE_CLIPPING | ADVISE_PALETTE | ADVISE_COLORKEY | ADVISE_POSITION )#define	ADVISE_ALL2	( ADVISE_ALL | ADVISE_DISPLAY_CHANGE )#ifndef _WINGDI_typedef struct _RGNDATAHEADER    {    DWORD dwSize;    DWORD iType;    DWORD nCount;    DWORD nRgnSize;    RECT rcBound;    } 	RGNDATAHEADER;typedef struct _RGNDATA    {    RGNDATAHEADER rdh;    char Buffer[ 1 ];    } 	RGNDATA;#endifextern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_s_ifspec;#ifndef __IOverlayNotify_INTERFACE_DEFINED__#define __IOverlayNotify_INTERFACE_DEFINED__/* interface IOverlayNotify *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IOverlayNotify;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770")    IOverlayNotify : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE OnPaletteChange(            /* [in] */ DWORD dwColors,            /* [in] */ const PALETTEENTRY *pPalette) = 0;        virtual HRESULT STDMETHODCALLTYPE OnClipChange(            /* [in] */ const RECT *pSourceRect,            /* [in] */ const RECT *pDestinationRect,            /* [in] */ const RGNDATA *pRgnData) = 0;        virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange(            /* [in] */ const COLORKEY *pColorKey) = 0;        virtual HRESULT STDMETHODCALLTYPE OnPositionChange(            /* [in] */ const RECT *pSourceRect,            /* [in] */ const RECT *pDestinationRect) = 0;    };#else 	/* C style interface */    typedef struct IOverlayNotifyVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IOverlayNotify * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IOverlayNotify * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IOverlayNotify * This);        HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )(            IOverlayNotify * This,            /* [in] */ DWORD dwColors,            /* [in] */ const PALETTEENTRY *pPalette);        HRESULT ( STDMETHODCALLTYPE *OnClipChange )(            IOverlayNotify * This,            /* [in] */ const RECT *pSourceRect,            /* [in] */ const RECT *pDestinationRect,            /* [in] */ const RGNDATA *pRgnData);        HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )(            IOverlayNotify * This,            /* [in] */ const COLORKEY *pColorKey);        HRESULT ( STDMETHODCALLTYPE *OnPositionChange )(            IOverlayNotify * This,            /* [in] */ const RECT *pSourceRect,            /* [in] */ const RECT *pDestinationRect);        END_INTERFACE    } IOverlayNotifyVtbl;    interface IOverlayNotify    {        CONST_VTBL struct IOverlayNotifyVtbl *lpVtbl;    };#ifdef COBJMACROS#define IOverlayNotify_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IOverlayNotify_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IOverlayNotify_Release(This)	\    (This)->lpVtbl -> Release(This)#define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette)	\    (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)#define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)	\    (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)#define IOverlayNotify_OnColorKeyChange(This,pColorKey)	\    (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)#define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect)	\    (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy(    IOverlayNotify * This,    /* [in] */ DWORD dwColors,    /* [in] */ const PALETTEENTRY *pPalette);void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy(    IOverlayNotify * This,    /* [in] */ const RECT *pSourceRect,    /* [in] */ const RECT *pDestinationRect,    /* [in] */ const RGNDATA *pRgnData);void __RPC_STUB IOverlayNotify_OnClipChange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy(    IOverlayNotify * This,    /* [in] */ const COLORKEY *pColorKey);void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy(    IOverlayNotify * This,    /* [in] */ const RECT *pSourceRect,    /* [in] */ const RECT *pDestinationRect);void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IOverlayNotify_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0138 *//* [local] */typedef IOverlayNotify *POVERLAYNOTIFY;#if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500)#define HMONITOR_DECLARED#if 0typedef HANDLE HMONITOR;#endifDECLARE_HANDLE(HMONITOR);#endifextern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_s_ifspec;#ifndef __IOverlayNotify2_INTERFACE_DEFINED__#define __IOverlayNotify2_INTERFACE_DEFINED__/* interface IOverlayNotify2 *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IOverlayNotify2;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("680EFA10-D535-11D1-87C8-00A0C9223196")    IOverlayNotify2 : public IOverlayNotify    {    public:        virtual HRESULT STDMETHODCALLTYPE OnDisplayChange(            HMONITOR hMonitor) = 0;    };#else 	/* C style interface */    typedef struct IOverlayNotify2Vtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IOverlayNotify2 * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IOverlayNotify2 * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IOverlayNotify2 * This);        HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )(            IOverlayNotify2 * This,            /* [in] */ DWORD dwColors,            /* [in] */ const PALETTEENTRY *pPalette);        HRESULT ( STDMETHODCALLTYPE *OnClipChange )(            IOverlayNotify2 * This,            /* [in] */ const RECT *pSourceRect,            /* [in] */ const RECT *pDestinationRect,            /* [in] */ const RGNDATA *pRgnData);        HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )(            IOverlayNotify2 * This,            /* [in] */ const COLORKEY *pColorKey);        HRESULT ( STDMETHODCALLTYPE *OnPositionChange )(            IOverlayNotify2 * This,            /* [in] */ const RECT *pSourceRect,            /* [in] */ const RECT *pDestinationRect);        HRESULT ( STDMETHODCALLTYPE *OnDisplayChange )(            IOverlayNotify2 * This,            HMONITOR hMonitor);        END_INTERFACE    } IOverlayNotify2Vtbl;    interface IOverlayNotify2    {        CONST_VTBL struct IOverlayNotify2Vtbl *lpVtbl;    };#ifdef COBJMACROS#define IOverlayNotify2_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IOverlayNotify2_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IOverlayNotify2_Release(This)	\    (This)->lpVtbl -> Release(This)#define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette)	\    (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)#define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)	\    (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)#define IOverlayNotify2_OnColorKeyChange(This,pColorKey)	\    (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)#define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect)	\    (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)#define IOverlayNotify2_OnDisplayChange(This,hMonitor)	\    (This)->lpVtbl -> OnDisplayChange(This,hMonitor)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy(    IOverlayNotify2 * This,    HMONITOR hMonitor);void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IOverlayNotify2_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0139 *//* [local] */typedef IOverlayNotify2 *POVERLAYNOTIFY2;extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_s_ifspec;#ifndef __IOverlay_INTERFACE_DEFINED__#define __IOverlay_INTERFACE_DEFINED__/* interface IOverlay *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IOverlay;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770")    IOverlay : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetPalette(            /* [out] */ DWORD *pdwColors,            /* [out] */ PALETTEENTRY **ppPalette) = 0;        virtual HRESULT STDMETHODCALLTYPE SetPalette(            /* [in] */ DWORD dwColors,            /* [in] */ PALETTEENTRY *pPalette) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey(            /* [out] */ COLORKEY *pColorKey) = 0;        virtual HRESULT STDMETHODCALLTYPE GetColorKey(            /* [out] */ COLORKEY *pColorKey) = 0;        virtual HRESULT STDMETHODCALLTYPE SetColorKey(            /* [out][in] */ COLORKEY *pColorKey) = 0;        virtual HRESULT STDMETHODCALLTYPE GetWindowHandle(            /* [out] */ HWND *pHwnd) = 0;        virtual HRESULT STDMETHODCALLTYPE GetClipList(            /* [out] */ RECT *pSourceRect,            /* [out] */ RECT *pDestinationRect,            /* [out] */ RGNDATA **ppRgnData) = 0;        virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(            /* [out] */ RECT *pSourceRect,            /* [out] */ RECT *pDestinationRect) = 0;        virtual HRESULT STDMETHODCALLTYPE Advise(            /* [in] */ IOverlayNotify *pOverlayNotify,            /* [in] */ DWORD dwInterests) = 0;        virtual HRESULT STDMETHODCALLTYPE Unadvise( void) = 0;    };#else 	/* C style interface */    typedef struct IOverlayVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IOverlay * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IOverlay * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IOverlay * This);        HRESULT ( STDMETHODCALLTYPE *GetPalette )(            IOverlay * This,            /* [out] */ DWORD *pdwColors,            /* [out] */ PALETTEENTRY **ppPalette);        HRESULT ( STDMETHODCALLTYPE *SetPalette )(            IOverlay * This,            /* [in] */ DWORD dwColors,            /* [in] */ PALETTEENTRY *pPalette);        HRESULT ( STDMETHODCALLTYPE *GetDefaultColorKey )(            IOverlay * This,            /* [out] */ COLORKEY *pColorKey);        HRESULT ( STDMETHODCALLTYPE *GetColorKey )(            IOverlay * This,            /* [out] */ COLORKEY *pColorKey);        HRESULT ( STDMETHODCALLTYPE *SetColorKey )(            IOverlay * This,            /* [out][in] */ COLORKEY *pColorKey);        HRESULT ( STDMETHODCALLTYPE *GetWindowHandle )(            IOverlay * This,            /* [out] */ HWND *pHwnd);        HRESULT ( STDMETHODCALLTYPE *GetClipList )(            IOverlay * This,            /* [out] */ RECT *pSourceRect,            /* [out] */ RECT *pDestinationRect,            /* [out] */ RGNDATA **ppRgnData);        HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )(            IOverlay * This,            /* [out] */ RECT *pSourceRect,            /* [out] */ RECT *pDestinationRect);        HRESULT ( STDMETHODCALLTYPE *Advise )(            IOverlay * This,            /* [in] */ IOverlayNotify *pOverlayNotify,            /* [in] */ DWORD dwInterests);        HRESULT ( STDMETHODCALLTYPE *Unadvise )(            IOverlay * This);        END_INTERFACE    } IOverlayVtbl;    interface IOverlay    {        CONST_VTBL struct IOverlayVtbl *lpVtbl;    };#ifdef COBJMACROS#define IOverlay_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IOverlay_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IOverlay_Release(This)	\    (This)->lpVtbl -> Release(This)#define IOverlay_GetPalette(This,pdwColors,ppPalette)	\    (This)->lpVtbl -> GetPalette(This,pdwColors,ppPalette)#define IOverlay_SetPalette(This,dwColors,pPalette)	\    (This)->lpVtbl -> SetPalette(This,dwColors,pPalette)#define IOverlay_GetDefaultColorKey(This,pColorKey)	\    (This)->lpVtbl -> GetDefaultColorKey(This,pColorKey)#define IOverlay_GetColorKey(This,pColorKey)	\    (This)->lpVtbl -> GetColorKey(This,pColorKey)#define IOverlay_SetColorKey(This,pColorKey)	\    (This)->lpVtbl -> SetColorKey(This,pColorKey)#define IOverlay_GetWindowHandle(This,pHwnd)	\    (This)->lpVtbl -> GetWindowHandle(This,pHwnd)#define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)	\    (This)->lpVtbl -> GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)#define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect)	\    (This)->lpVtbl -> GetVideoPosition(This,pSourceRect,pDestinationRect)#define IOverlay_Advise(This,pOverlayNotify,dwInterests)	\    (This)->lpVtbl -> Advise(This,pOverlayNotify,dwInterests)#define IOverlay_Unadvise(This)	\    (This)->lpVtbl -> Unadvise(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy(    IOverlay * This,    /* [out] */ DWORD *pdwColors,    /* [out] */ PALETTEENTRY **ppPalette);void __RPC_STUB IOverlay_GetPalette_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy(    IOverlay * This,    /* [in] */ DWORD dwColors,    /* [in] */ PALETTEENTRY *pPalette);void __RPC_STUB IOverlay_SetPalette_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy(    IOverlay * This,    /* [out] */ COLORKEY *pColorKey);void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy(    IOverlay * This,    /* [out] */ COLORKEY *pColorKey);void __RPC_STUB IOverlay_GetColorKey_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy(    IOverlay * This,    /* [out][in] */ COLORKEY *pColorKey);void __RPC_STUB IOverlay_SetColorKey_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy(    IOverlay * This,    /* [out] */ HWND *pHwnd);void __RPC_STUB IOverlay_GetWindowHandle_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy(    IOverlay * This,    /* [out] */ RECT *pSourceRect,    /* [out] */ RECT *pDestinationRect,    /* [out] */ RGNDATA **ppRgnData);void __RPC_STUB IOverlay_GetClipList_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy(    IOverlay * This,    /* [out] */ RECT *pSourceRect,    /* [out] */ RECT *pDestinationRect);void __RPC_STUB IOverlay_GetVideoPosition_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy(    IOverlay * This,    /* [in] */ IOverlayNotify *pOverlayNotify,    /* [in] */ DWORD dwInterests);void __RPC_STUB IOverlay_Advise_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy(    IOverlay * This);void __RPC_STUB IOverlay_Unadvise_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IOverlay_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0140 *//* [local] */typedef IOverlay *POVERLAY;extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_s_ifspec;#ifndef __IMediaEventSink_INTERFACE_DEFINED__#define __IMediaEventSink_INTERFACE_DEFINED__/* interface IMediaEventSink *//* [unique][uuid][object] */EXTERN_C const IID IID_IMediaEventSink;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770")    IMediaEventSink : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Notify(            /* [in] */ long EventCode,            /* [in] */ LONG_PTR EventParam1,            /* [in] */ LONG_PTR EventParam2) = 0;    };#else 	/* C style interface */    typedef struct IMediaEventSinkVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IMediaEventSink * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IMediaEventSink * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IMediaEventSink * This);        HRESULT ( STDMETHODCALLTYPE *Notify )(            IMediaEventSink * This,            /* [in] */ long EventCode,            /* [in] */ LONG_PTR EventParam1,            /* [in] */ LONG_PTR EventParam2);        END_INTERFACE    } IMediaEventSinkVtbl;    interface IMediaEventSink    {        CONST_VTBL struct IMediaEventSinkVtbl *lpVtbl;    };#ifdef COBJMACROS#define IMediaEventSink_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IMediaEventSink_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IMediaEventSink_Release(This)	\    (This)->lpVtbl -> Release(This)#define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2)	\    (This)->lpVtbl -> Notify(This,EventCode,EventParam1,EventParam2)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy(    IMediaEventSink * This,    /* [in] */ long EventCode,    /* [in] */ LONG_PTR EventParam1,    /* [in] */ LONG_PTR EventParam2);void __RPC_STUB IMediaEventSink_Notify_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IMediaEventSink_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0141 *//* [local] */typedef IMediaEventSink *PMEDIAEVENTSINK;extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_s_ifspec;#ifndef __IFileSourceFilter_INTERFACE_DEFINED__#define __IFileSourceFilter_INTERFACE_DEFINED__/* interface IFileSourceFilter *//* [unique][uuid][object] */EXTERN_C const IID IID_IFileSourceFilter;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770")    IFileSourceFilter : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Load(            /* [in] */ LPCOLESTR pszFileName,            /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurFile(            /* [out] */ LPOLESTR *ppszFileName,            /* [out] */ AM_MEDIA_TYPE *pmt) = 0;    };#else 	/* C style interface */    typedef struct IFileSourceFilterVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IFileSourceFilter * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IFileSourceFilter * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IFileSourceFilter * This);        HRESULT ( STDMETHODCALLTYPE *Load )(            IFileSourceFilter * This,            /* [in] */ LPCOLESTR pszFileName,            /* [unique][in] */ const AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *GetCurFile )(            IFileSourceFilter * This,            /* [out] */ LPOLESTR *ppszFileName,            /* [out] */ AM_MEDIA_TYPE *pmt);        END_INTERFACE    } IFileSourceFilterVtbl;    interface IFileSourceFilter    {        CONST_VTBL struct IFileSourceFilterVtbl *lpVtbl;    };#ifdef COBJMACROS#define IFileSourceFilter_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IFileSourceFilter_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IFileSourceFilter_Release(This)	\    (This)->lpVtbl -> Release(This)#define IFileSourceFilter_Load(This,pszFileName,pmt)	\    (This)->lpVtbl -> Load(This,pszFileName,pmt)#define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt)	\    (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy(    IFileSourceFilter * This,    /* [in] */ LPCOLESTR pszFileName,    /* [unique][in] */ const AM_MEDIA_TYPE *pmt);void __RPC_STUB IFileSourceFilter_Load_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy(    IFileSourceFilter * This,    /* [out] */ LPOLESTR *ppszFileName,    /* [out] */ AM_MEDIA_TYPE *pmt);void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IFileSourceFilter_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0142 *//* [local] */typedef IFileSourceFilter *PFILTERFILESOURCE;extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_s_ifspec;#ifndef __IFileSinkFilter_INTERFACE_DEFINED__#define __IFileSinkFilter_INTERFACE_DEFINED__/* interface IFileSinkFilter *//* [unique][uuid][object] */EXTERN_C const IID IID_IFileSinkFilter;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6")    IFileSinkFilter : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetFileName(            /* [in] */ LPCOLESTR pszFileName,            /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurFile(            /* [out] */ LPOLESTR *ppszFileName,            /* [out] */ AM_MEDIA_TYPE *pmt) = 0;    };#else 	/* C style interface */    typedef struct IFileSinkFilterVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IFileSinkFilter * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IFileSinkFilter * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IFileSinkFilter * This);        HRESULT ( STDMETHODCALLTYPE *SetFileName )(            IFileSinkFilter * This,            /* [in] */ LPCOLESTR pszFileName,            /* [unique][in] */ const AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *GetCurFile )(            IFileSinkFilter * This,            /* [out] */ LPOLESTR *ppszFileName,            /* [out] */ AM_MEDIA_TYPE *pmt);        END_INTERFACE    } IFileSinkFilterVtbl;    interface IFileSinkFilter    {        CONST_VTBL struct IFileSinkFilterVtbl *lpVtbl;    };#ifdef COBJMACROS#define IFileSinkFilter_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IFileSinkFilter_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IFileSinkFilter_Release(This)	\    (This)->lpVtbl -> Release(This)#define IFileSinkFilter_SetFileName(This,pszFileName,pmt)	\    (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)#define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt)	\    (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy(    IFileSinkFilter * This,    /* [in] */ LPCOLESTR pszFileName,    /* [unique][in] */ const AM_MEDIA_TYPE *pmt);void __RPC_STUB IFileSinkFilter_SetFileName_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy(    IFileSinkFilter * This,    /* [out] */ LPOLESTR *ppszFileName,    /* [out] */ AM_MEDIA_TYPE *pmt);void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IFileSinkFilter_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0143 *//* [local] */typedef IFileSinkFilter *PFILTERFILESINK;extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_s_ifspec;#ifndef __IFileSinkFilter2_INTERFACE_DEFINED__#define __IFileSinkFilter2_INTERFACE_DEFINED__/* interface IFileSinkFilter2 *//* [unique][uuid][object] */EXTERN_C const IID IID_IFileSinkFilter2;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("00855B90-CE1B-11d0-BD4F-00A0C911CE86")    IFileSinkFilter2 : public IFileSinkFilter    {    public:        virtual HRESULT STDMETHODCALLTYPE SetMode(            /* [in] */ DWORD dwFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE GetMode(            /* [out] */ DWORD *pdwFlags) = 0;    };#else 	/* C style interface */    typedef struct IFileSinkFilter2Vtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IFileSinkFilter2 * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IFileSinkFilter2 * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IFileSinkFilter2 * This);        HRESULT ( STDMETHODCALLTYPE *SetFileName )(            IFileSinkFilter2 * This,            /* [in] */ LPCOLESTR pszFileName,            /* [unique][in] */ const AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *GetCurFile )(            IFileSinkFilter2 * This,            /* [out] */ LPOLESTR *ppszFileName,            /* [out] */ AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *SetMode )(            IFileSinkFilter2 * This,            /* [in] */ DWORD dwFlags);        HRESULT ( STDMETHODCALLTYPE *GetMode )(            IFileSinkFilter2 * This,            /* [out] */ DWORD *pdwFlags);        END_INTERFACE    } IFileSinkFilter2Vtbl;    interface IFileSinkFilter2    {        CONST_VTBL struct IFileSinkFilter2Vtbl *lpVtbl;    };#ifdef COBJMACROS#define IFileSinkFilter2_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IFileSinkFilter2_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IFileSinkFilter2_Release(This)	\    (This)->lpVtbl -> Release(This)#define IFileSinkFilter2_SetFileName(This,pszFileName,pmt)	\    (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)#define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt)	\    (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)#define IFileSinkFilter2_SetMode(This,dwFlags)	\    (This)->lpVtbl -> SetMode(This,dwFlags)#define IFileSinkFilter2_GetMode(This,pdwFlags)	\    (This)->lpVtbl -> GetMode(This,pdwFlags)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy(    IFileSinkFilter2 * This,    /* [in] */ DWORD dwFlags);void __RPC_STUB IFileSinkFilter2_SetMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy(    IFileSinkFilter2 * This,    /* [out] */ DWORD *pdwFlags);void __RPC_STUB IFileSinkFilter2_GetMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IFileSinkFilter2_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0144 *//* [local] */typedef IFileSinkFilter2 *PFILESINKFILTER2;typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0144_0001    {	AM_FILE_OVERWRITE	= 0x1    } 	AM_FILESINK_FLAGS;extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_s_ifspec;#ifndef __IGraphBuilder_INTERFACE_DEFINED__#define __IGraphBuilder_INTERFACE_DEFINED__/* interface IGraphBuilder *//* [unique][uuid][object] */EXTERN_C const IID IID_IGraphBuilder;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770")    IGraphBuilder : public IFilterGraph    {    public:        virtual HRESULT STDMETHODCALLTYPE Connect(            /* [in] */ IPin *ppinOut,            /* [in] */ IPin *ppinIn) = 0;        virtual HRESULT STDMETHODCALLTYPE Render(            /* [in] */ IPin *ppinOut) = 0;        virtual HRESULT STDMETHODCALLTYPE RenderFile(            /* [in] */ LPCWSTR lpcwstrFile,            /* [unique][in] */ LPCWSTR lpcwstrPlayList) = 0;        virtual HRESULT STDMETHODCALLTYPE AddSourceFilter(            /* [in] */ LPCWSTR lpcwstrFileName,            /* [unique][in] */ LPCWSTR lpcwstrFilterName,            /* [out] */ IBaseFilter **ppFilter) = 0;        virtual HRESULT STDMETHODCALLTYPE SetLogFile(            /* [in] */ DWORD_PTR hFile) = 0;        virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;        virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( void) = 0;    };#else 	/* C style interface */    typedef struct IGraphBuilderVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IGraphBuilder * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IGraphBuilder * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IGraphBuilder * This);        HRESULT ( STDMETHODCALLTYPE *AddFilter )(            IGraphBuilder * This,            /* [in] */ IBaseFilter *pFilter,            /* [string][in] */ LPCWSTR pName);        HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(            IGraphBuilder * This,            /* [in] */ IBaseFilter *pFilter);        HRESULT ( STDMETHODCALLTYPE *EnumFilters )(            IGraphBuilder * This,            /* [out] */ IEnumFilters **ppEnum);        HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(            IGraphBuilder * This,            /* [string][in] */ LPCWSTR pName,            /* [out] */ IBaseFilter **ppFilter);        HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(            IGraphBuilder * This,            /* [in] */ IPin *ppinOut,            /* [in] */ IPin *ppinIn,            /* [unique][in] */ const AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *Reconnect )(            IGraphBuilder * This,            /* [in] */ IPin *ppin);        HRESULT ( STDMETHODCALLTYPE *Disconnect )(            IGraphBuilder * This,            /* [in] */ IPin *ppin);        HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(            IGraphBuilder * This);        HRESULT ( STDMETHODCALLTYPE *Connect )(            IGraphBuilder * This,            /* [in] */ IPin *ppinOut,            /* [in] */ IPin *ppinIn);        HRESULT ( STDMETHODCALLTYPE *Render )(            IGraphBuilder * This,            /* [in] */ IPin *ppinOut);        HRESULT ( STDMETHODCALLTYPE *RenderFile )(            IGraphBuilder * This,            /* [in] */ LPCWSTR lpcwstrFile,            /* [unique][in] */ LPCWSTR lpcwstrPlayList);        HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )(            IGraphBuilder * This,            /* [in] */ LPCWSTR lpcwstrFileName,            /* [unique][in] */ LPCWSTR lpcwstrFilterName,            /* [out] */ IBaseFilter **ppFilter);        HRESULT ( STDMETHODCALLTYPE *SetLogFile )(            IGraphBuilder * This,            /* [in] */ DWORD_PTR hFile);        HRESULT ( STDMETHODCALLTYPE *Abort )(            IGraphBuilder * This);        HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )(            IGraphBuilder * This);        END_INTERFACE    } IGraphBuilderVtbl;    interface IGraphBuilder    {        CONST_VTBL struct IGraphBuilderVtbl *lpVtbl;    };#ifdef COBJMACROS#define IGraphBuilder_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IGraphBuilder_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IGraphBuilder_Release(This)	\    (This)->lpVtbl -> Release(This)#define IGraphBuilder_AddFilter(This,pFilter,pName)	\    (This)->lpVtbl -> AddFilter(This,pFilter,pName)#define IGraphBuilder_RemoveFilter(This,pFilter)	\    (This)->lpVtbl -> RemoveFilter(This,pFilter)#define IGraphBuilder_EnumFilters(This,ppEnum)	\    (This)->lpVtbl -> EnumFilters(This,ppEnum)#define IGraphBuilder_FindFilterByName(This,pName,ppFilter)	\    (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)#define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt)	\    (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)#define IGraphBuilder_Reconnect(This,ppin)	\    (This)->lpVtbl -> Reconnect(This,ppin)#define IGraphBuilder_Disconnect(This,ppin)	\    (This)->lpVtbl -> Disconnect(This,ppin)#define IGraphBuilder_SetDefaultSyncSource(This)	\    (This)->lpVtbl -> SetDefaultSyncSource(This)#define IGraphBuilder_Connect(This,ppinOut,ppinIn)	\    (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)#define IGraphBuilder_Render(This,ppinOut)	\    (This)->lpVtbl -> Render(This,ppinOut)#define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList)	\    (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)#define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)	\    (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)#define IGraphBuilder_SetLogFile(This,hFile)	\    (This)->lpVtbl -> SetLogFile(This,hFile)#define IGraphBuilder_Abort(This)	\    (This)->lpVtbl -> Abort(This)#define IGraphBuilder_ShouldOperationContinue(This)	\    (This)->lpVtbl -> ShouldOperationContinue(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy(    IGraphBuilder * This,    /* [in] */ IPin *ppinOut,    /* [in] */ IPin *ppinIn);void __RPC_STUB IGraphBuilder_Connect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy(    IGraphBuilder * This,    /* [in] */ IPin *ppinOut);void __RPC_STUB IGraphBuilder_Render_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy(    IGraphBuilder * This,    /* [in] */ LPCWSTR lpcwstrFile,    /* [unique][in] */ LPCWSTR lpcwstrPlayList);void __RPC_STUB IGraphBuilder_RenderFile_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy(    IGraphBuilder * This,    /* [in] */ LPCWSTR lpcwstrFileName,    /* [unique][in] */ LPCWSTR lpcwstrFilterName,    /* [out] */ IBaseFilter **ppFilter);void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy(    IGraphBuilder * This,    /* [in] */ DWORD_PTR hFile);void __RPC_STUB IGraphBuilder_SetLogFile_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy(    IGraphBuilder * This);void __RPC_STUB IGraphBuilder_Abort_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy(    IGraphBuilder * This);void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IGraphBuilder_INTERFACE_DEFINED__ */#ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__#define __ICaptureGraphBuilder_INTERFACE_DEFINED__/* interface ICaptureGraphBuilder *//* [unique][uuid][object] */EXTERN_C const IID IID_ICaptureGraphBuilder;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5")    ICaptureGraphBuilder : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(            /* [in] */ IGraphBuilder *pfg) = 0;        virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(            /* [out] */ IGraphBuilder **ppfg) = 0;        virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(            /* [in] */ const GUID *pType,            /* [in] */ LPCOLESTR lpstrFile,            /* [out] */ IBaseFilter **ppf,            /* [out] */ IFileSinkFilter **ppSink) = 0;        virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface(            /* [unique][in] */ const GUID *pCategory,            /* [in] */ IBaseFilter *pf,            /* [in] */ REFIID riid,            /* [out] */ void **ppint) = 0;        virtual HRESULT STDMETHODCALLTYPE RenderStream(            /* [in] */ const GUID *pCategory,            /* [in] */ IUnknown *pSource,            /* [in] */ IBaseFilter *pfCompressor,            /* [in] */ IBaseFilter *pfRenderer) = 0;        virtual HRESULT STDMETHODCALLTYPE ControlStream(            /* [in] */ const GUID *pCategory,            /* [in] */ IBaseFilter *pFilter,            /* [in] */ REFERENCE_TIME *pstart,            /* [in] */ REFERENCE_TIME *pstop,            /* [in] */ WORD wStartCookie,            /* [in] */ WORD wStopCookie) = 0;        virtual HRESULT STDMETHODCALLTYPE AllocCapFile(            /* [in] */ LPCOLESTR lpstr,            /* [in] */ DWORDLONG dwlSize) = 0;        virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(            /* [in] */ LPOLESTR lpwstrOld,            /* [in] */ LPOLESTR lpwstrNew,            /* [in] */ int fAllowEscAbort,            /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;    };#else 	/* C style interface */    typedef struct ICaptureGraphBuilderVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            ICaptureGraphBuilder * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            ICaptureGraphBuilder * This);        ULONG ( STDMETHODCALLTYPE *Release )(            ICaptureGraphBuilder * This);        HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )(            ICaptureGraphBuilder * This,            /* [in] */ IGraphBuilder *pfg);        HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(            ICaptureGraphBuilder * This,            /* [out] */ IGraphBuilder **ppfg);        HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )(            ICaptureGraphBuilder * This,            /* [in] */ const GUID *pType,            /* [in] */ LPCOLESTR lpstrFile,            /* [out] */ IBaseFilter **ppf,            /* [out] */ IFileSinkFilter **ppSink);        /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )(            ICaptureGraphBuilder * This,            /* [unique][in] */ const GUID *pCategory,            /* [in] */ IBaseFilter *pf,            /* [in] */ REFIID riid,            /* [out] */ void **ppint);        HRESULT ( STDMETHODCALLTYPE *RenderStream )(            ICaptureGraphBuilder * This,            /* [in] */ const GUID *pCategory,            /* [in] */ IUnknown *pSource,            /* [in] */ IBaseFilter *pfCompressor,            /* [in] */ IBaseFilter *pfRenderer);        HRESULT ( STDMETHODCALLTYPE *ControlStream )(            ICaptureGraphBuilder * This,            /* [in] */ const GUID *pCategory,            /* [in] */ IBaseFilter *pFilter,            /* [in] */ REFERENCE_TIME *pstart,            /* [in] */ REFERENCE_TIME *pstop,            /* [in] */ WORD wStartCookie,            /* [in] */ WORD wStopCookie);        HRESULT ( STDMETHODCALLTYPE *AllocCapFile )(            ICaptureGraphBuilder * This,            /* [in] */ LPCOLESTR lpstr,            /* [in] */ DWORDLONG dwlSize);        HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )(            ICaptureGraphBuilder * This,            /* [in] */ LPOLESTR lpwstrOld,            /* [in] */ LPOLESTR lpwstrNew,            /* [in] */ int fAllowEscAbort,            /* [in] */ IAMCopyCaptureFileProgress *pCallback);        END_INTERFACE    } ICaptureGraphBuilderVtbl;    interface ICaptureGraphBuilder    {        CONST_VTBL struct ICaptureGraphBuilderVtbl *lpVtbl;    };#ifdef COBJMACROS#define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define ICaptureGraphBuilder_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define ICaptureGraphBuilder_Release(This)	\    (This)->lpVtbl -> Release(This)#define ICaptureGraphBuilder_SetFiltergraph(This,pfg)	\    (This)->lpVtbl -> SetFiltergraph(This,pfg)#define ICaptureGraphBuilder_GetFiltergraph(This,ppfg)	\    (This)->lpVtbl -> GetFiltergraph(This,ppfg)#define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)	\    (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)#define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint)	\    (This)->lpVtbl -> FindInterface(This,pCategory,pf,riid,ppint)#define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)	\    (This)->lpVtbl -> RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)#define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)	\    (This)->lpVtbl -> ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)#define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize)	\    (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)#define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)	\    (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy(    ICaptureGraphBuilder * This,    /* [in] */ IGraphBuilder *pfg);void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy(    ICaptureGraphBuilder * This,    /* [out] */ IGraphBuilder **ppfg);void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy(    ICaptureGraphBuilder * This,    /* [in] */ const GUID *pType,    /* [in] */ LPCOLESTR lpstrFile,    /* [out] */ IBaseFilter **ppf,    /* [out] */ IFileSinkFilter **ppSink);void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);/* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy(    ICaptureGraphBuilder * This,    /* [unique][in] */ const GUID *pCategory,    /* [in] */ IBaseFilter *pf,    /* [in] */ REFIID riid,    /* [out] */ IUnknown **ppint);void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy(    ICaptureGraphBuilder * This,    /* [in] */ const GUID *pCategory,    /* [in] */ IUnknown *pSource,    /* [in] */ IBaseFilter *pfCompressor,    /* [in] */ IBaseFilter *pfRenderer);void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy(    ICaptureGraphBuilder * This,    /* [in] */ const GUID *pCategory,    /* [in] */ IBaseFilter *pFilter,    /* [in] */ REFERENCE_TIME *pstart,    /* [in] */ REFERENCE_TIME *pstop,    /* [in] */ WORD wStartCookie,    /* [in] */ WORD wStopCookie);void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy(    ICaptureGraphBuilder * This,    /* [in] */ LPCOLESTR lpstr,    /* [in] */ DWORDLONG dwlSize);void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy(    ICaptureGraphBuilder * This,    /* [in] */ LPOLESTR lpwstrOld,    /* [in] */ LPOLESTR lpwstrNew,    /* [in] */ int fAllowEscAbort,    /* [in] */ IAMCopyCaptureFileProgress *pCallback);void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */#ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__#define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__/* interface IAMCopyCaptureFileProgress *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMCopyCaptureFileProgress;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5")    IAMCopyCaptureFileProgress : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Progress(            /* [in] */ int iProgress) = 0;    };#else 	/* C style interface */    typedef struct IAMCopyCaptureFileProgressVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMCopyCaptureFileProgress * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMCopyCaptureFileProgress * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMCopyCaptureFileProgress * This);        HRESULT ( STDMETHODCALLTYPE *Progress )(            IAMCopyCaptureFileProgress * This,            /* [in] */ int iProgress);        END_INTERFACE    } IAMCopyCaptureFileProgressVtbl;    interface IAMCopyCaptureFileProgress    {        CONST_VTBL struct IAMCopyCaptureFileProgressVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMCopyCaptureFileProgress_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMCopyCaptureFileProgress_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMCopyCaptureFileProgress_Progress(This,iProgress)	\    (This)->lpVtbl -> Progress(This,iProgress)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy(    IAMCopyCaptureFileProgress * This,    /* [in] */ int iProgress);void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */#ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__#define __ICaptureGraphBuilder2_INTERFACE_DEFINED__/* interface ICaptureGraphBuilder2 *//* [unique][uuid][object] */EXTERN_C const IID IID_ICaptureGraphBuilder2;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D")    ICaptureGraphBuilder2 : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetFiltergraph(            /* [in] */ IGraphBuilder *pfg) = 0;        virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(            /* [out] */ IGraphBuilder **ppfg) = 0;        virtual HRESULT STDMETHODCALLTYPE SetOutputFileName(            /* [in] */ const GUID *pType,            /* [in] */ LPCOLESTR lpstrFile,            /* [out] */ IBaseFilter **ppf,            /* [out] */ IFileSinkFilter **ppSink) = 0;        virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface(            /* [in] */ const GUID *pCategory,            /* [in] */ const GUID *pType,            /* [in] */ IBaseFilter *pf,            /* [in] */ REFIID riid,            /* [out] */ void **ppint) = 0;        virtual HRESULT STDMETHODCALLTYPE RenderStream(            /* [in] */ const GUID *pCategory,            /* [in] */ const GUID *pType,            /* [in] */ IUnknown *pSource,            /* [in] */ IBaseFilter *pfCompressor,            /* [in] */ IBaseFilter *pfRenderer) = 0;        virtual HRESULT STDMETHODCALLTYPE ControlStream(            /* [in] */ const GUID *pCategory,            /* [in] */ const GUID *pType,            /* [in] */ IBaseFilter *pFilter,            /* [in] */ REFERENCE_TIME *pstart,            /* [in] */ REFERENCE_TIME *pstop,            /* [in] */ WORD wStartCookie,            /* [in] */ WORD wStopCookie) = 0;        virtual HRESULT STDMETHODCALLTYPE AllocCapFile(            /* [in] */ LPCOLESTR lpstr,            /* [in] */ DWORDLONG dwlSize) = 0;        virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile(            /* [in] */ LPOLESTR lpwstrOld,            /* [in] */ LPOLESTR lpwstrNew,            /* [in] */ int fAllowEscAbort,            /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;        virtual HRESULT STDMETHODCALLTYPE FindPin(            /* [in] */ IUnknown *pSource,            /* [in] */ PIN_DIRECTION pindir,            /* [in] */ const GUID *pCategory,            /* [in] */ const GUID *pType,            /* [in] */ BOOL fUnconnected,            /* [in] */ int num,            /* [out] */ IPin **ppPin) = 0;    };#else 	/* C style interface */    typedef struct ICaptureGraphBuilder2Vtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            ICaptureGraphBuilder2 * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            ICaptureGraphBuilder2 * This);        ULONG ( STDMETHODCALLTYPE *Release )(            ICaptureGraphBuilder2 * This);        HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )(            ICaptureGraphBuilder2 * This,            /* [in] */ IGraphBuilder *pfg);        HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(            ICaptureGraphBuilder2 * This,            /* [out] */ IGraphBuilder **ppfg);        HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )(            ICaptureGraphBuilder2 * This,            /* [in] */ const GUID *pType,            /* [in] */ LPCOLESTR lpstrFile,            /* [out] */ IBaseFilter **ppf,            /* [out] */ IFileSinkFilter **ppSink);        /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )(            ICaptureGraphBuilder2 * This,            /* [in] */ const GUID *pCategory,            /* [in] */ const GUID *pType,            /* [in] */ IBaseFilter *pf,            /* [in] */ REFIID riid,            /* [out] */ void **ppint);        HRESULT ( STDMETHODCALLTYPE *RenderStream )(            ICaptureGraphBuilder2 * This,            /* [in] */ const GUID *pCategory,            /* [in] */ const GUID *pType,            /* [in] */ IUnknown *pSource,            /* [in] */ IBaseFilter *pfCompressor,            /* [in] */ IBaseFilter *pfRenderer);        HRESULT ( STDMETHODCALLTYPE *ControlStream )(            ICaptureGraphBuilder2 * This,            /* [in] */ const GUID *pCategory,            /* [in] */ const GUID *pType,            /* [in] */ IBaseFilter *pFilter,            /* [in] */ REFERENCE_TIME *pstart,            /* [in] */ REFERENCE_TIME *pstop,            /* [in] */ WORD wStartCookie,            /* [in] */ WORD wStopCookie);        HRESULT ( STDMETHODCALLTYPE *AllocCapFile )(            ICaptureGraphBuilder2 * This,            /* [in] */ LPCOLESTR lpstr,            /* [in] */ DWORDLONG dwlSize);        HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )(            ICaptureGraphBuilder2 * This,            /* [in] */ LPOLESTR lpwstrOld,            /* [in] */ LPOLESTR lpwstrNew,            /* [in] */ int fAllowEscAbort,            /* [in] */ IAMCopyCaptureFileProgress *pCallback);        HRESULT ( STDMETHODCALLTYPE *FindPin )(            ICaptureGraphBuilder2 * This,            /* [in] */ IUnknown *pSource,            /* [in] */ PIN_DIRECTION pindir,            /* [in] */ const GUID *pCategory,            /* [in] */ const GUID *pType,            /* [in] */ BOOL fUnconnected,            /* [in] */ int num,            /* [out] */ IPin **ppPin);        END_INTERFACE    } ICaptureGraphBuilder2Vtbl;    interface ICaptureGraphBuilder2    {        CONST_VTBL struct ICaptureGraphBuilder2Vtbl *lpVtbl;    };#ifdef COBJMACROS#define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define ICaptureGraphBuilder2_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define ICaptureGraphBuilder2_Release(This)	\    (This)->lpVtbl -> Release(This)#define ICaptureGraphBuilder2_SetFiltergraph(This,pfg)	\    (This)->lpVtbl -> SetFiltergraph(This,pfg)#define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg)	\    (This)->lpVtbl -> GetFiltergraph(This,ppfg)#define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)	\    (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)#define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint)	\    (This)->lpVtbl -> FindInterface(This,pCategory,pType,pf,riid,ppint)#define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)	\    (This)->lpVtbl -> RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)#define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)	\    (This)->lpVtbl -> ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)#define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize)	\    (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)#define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)	\    (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)#define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)	\    (This)->lpVtbl -> FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy(    ICaptureGraphBuilder2 * This,    /* [in] */ IGraphBuilder *pfg);void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy(    ICaptureGraphBuilder2 * This,    /* [out] */ IGraphBuilder **ppfg);void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy(    ICaptureGraphBuilder2 * This,    /* [in] */ const GUID *pType,    /* [in] */ LPCOLESTR lpstrFile,    /* [out] */ IBaseFilter **ppf,    /* [out] */ IFileSinkFilter **ppSink);void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);/* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy(    ICaptureGraphBuilder2 * This,    /* [in] */ const GUID *pCategory,    /* [in] */ const GUID *pType,    /* [in] */ IBaseFilter *pf,    /* [in] */ REFIID riid,    /* [out] */ IUnknown **ppint);void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy(    ICaptureGraphBuilder2 * This,    /* [in] */ const GUID *pCategory,    /* [in] */ const GUID *pType,    /* [in] */ IUnknown *pSource,    /* [in] */ IBaseFilter *pfCompressor,    /* [in] */ IBaseFilter *pfRenderer);void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy(    ICaptureGraphBuilder2 * This,    /* [in] */ const GUID *pCategory,    /* [in] */ const GUID *pType,    /* [in] */ IBaseFilter *pFilter,    /* [in] */ REFERENCE_TIME *pstart,    /* [in] */ REFERENCE_TIME *pstop,    /* [in] */ WORD wStartCookie,    /* [in] */ WORD wStopCookie);void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy(    ICaptureGraphBuilder2 * This,    /* [in] */ LPCOLESTR lpstr,    /* [in] */ DWORDLONG dwlSize);void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy(    ICaptureGraphBuilder2 * This,    /* [in] */ LPOLESTR lpwstrOld,    /* [in] */ LPOLESTR lpwstrNew,    /* [in] */ int fAllowEscAbort,    /* [in] */ IAMCopyCaptureFileProgress *pCallback);void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy(    ICaptureGraphBuilder2 * This,    /* [in] */ IUnknown *pSource,    /* [in] */ PIN_DIRECTION pindir,    /* [in] */ const GUID *pCategory,    /* [in] */ const GUID *pType,    /* [in] */ BOOL fUnconnected,    /* [in] */ int num,    /* [out] */ IPin **ppPin);void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0148 *//* [local] */enum _AM_RENSDEREXFLAGS    {	AM_RENDEREX_RENDERTOEXISTINGRENDERERS	= 0x1    } ;extern RPC_IF_HANDLE __MIDL_itf_strmif_0148_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0148_v0_0_s_ifspec;#ifndef __IFilterGraph2_INTERFACE_DEFINED__#define __IFilterGraph2_INTERFACE_DEFINED__/* interface IFilterGraph2 *//* [unique][uuid][object] */EXTERN_C const IID IID_IFilterGraph2;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60")    IFilterGraph2 : public IGraphBuilder    {    public:        virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker(            /* [in] */ IMoniker *pMoniker,            /* [in] */ IBindCtx *pCtx,            /* [unique][in] */ LPCWSTR lpcwstrFilterName,            /* [out] */ IBaseFilter **ppFilter) = 0;        virtual HRESULT STDMETHODCALLTYPE ReconnectEx(            /* [in] */ IPin *ppin,            /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;        virtual HRESULT STDMETHODCALLTYPE RenderEx(            /* [in] */ IPin *pPinOut,            /* [in] */ DWORD dwFlags,            /* [out][in] */ DWORD *pvContext) = 0;    };#else 	/* C style interface */    typedef struct IFilterGraph2Vtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IFilterGraph2 * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IFilterGraph2 * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IFilterGraph2 * This);        HRESULT ( STDMETHODCALLTYPE *AddFilter )(            IFilterGraph2 * This,            /* [in] */ IBaseFilter *pFilter,            /* [string][in] */ LPCWSTR pName);        HRESULT ( STDMETHODCALLTYPE *RemoveFilter )(            IFilterGraph2 * This,            /* [in] */ IBaseFilter *pFilter);        HRESULT ( STDMETHODCALLTYPE *EnumFilters )(            IFilterGraph2 * This,            /* [out] */ IEnumFilters **ppEnum);        HRESULT ( STDMETHODCALLTYPE *FindFilterByName )(            IFilterGraph2 * This,            /* [string][in] */ LPCWSTR pName,            /* [out] */ IBaseFilter **ppFilter);        HRESULT ( STDMETHODCALLTYPE *ConnectDirect )(            IFilterGraph2 * This,            /* [in] */ IPin *ppinOut,            /* [in] */ IPin *ppinIn,            /* [unique][in] */ const AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *Reconnect )(            IFilterGraph2 * This,            /* [in] */ IPin *ppin);        HRESULT ( STDMETHODCALLTYPE *Disconnect )(            IFilterGraph2 * This,            /* [in] */ IPin *ppin);        HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )(            IFilterGraph2 * This);        HRESULT ( STDMETHODCALLTYPE *Connect )(            IFilterGraph2 * This,            /* [in] */ IPin *ppinOut,            /* [in] */ IPin *ppinIn);        HRESULT ( STDMETHODCALLTYPE *Render )(            IFilterGraph2 * This,            /* [in] */ IPin *ppinOut);        HRESULT ( STDMETHODCALLTYPE *RenderFile )(            IFilterGraph2 * This,            /* [in] */ LPCWSTR lpcwstrFile,            /* [unique][in] */ LPCWSTR lpcwstrPlayList);        HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )(            IFilterGraph2 * This,            /* [in] */ LPCWSTR lpcwstrFileName,            /* [unique][in] */ LPCWSTR lpcwstrFilterName,            /* [out] */ IBaseFilter **ppFilter);        HRESULT ( STDMETHODCALLTYPE *SetLogFile )(            IFilterGraph2 * This,            /* [in] */ DWORD_PTR hFile);        HRESULT ( STDMETHODCALLTYPE *Abort )(            IFilterGraph2 * This);        HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )(            IFilterGraph2 * This);        HRESULT ( STDMETHODCALLTYPE *AddSourceFilterForMoniker )(            IFilterGraph2 * This,            /* [in] */ IMoniker *pMoniker,            /* [in] */ IBindCtx *pCtx,            /* [unique][in] */ LPCWSTR lpcwstrFilterName,            /* [out] */ IBaseFilter **ppFilter);        HRESULT ( STDMETHODCALLTYPE *ReconnectEx )(            IFilterGraph2 * This,            /* [in] */ IPin *ppin,            /* [unique][in] */ const AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *RenderEx )(            IFilterGraph2 * This,            /* [in] */ IPin *pPinOut,            /* [in] */ DWORD dwFlags,            /* [out][in] */ DWORD *pvContext);        END_INTERFACE    } IFilterGraph2Vtbl;    interface IFilterGraph2    {        CONST_VTBL struct IFilterGraph2Vtbl *lpVtbl;    };#ifdef COBJMACROS#define IFilterGraph2_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IFilterGraph2_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IFilterGraph2_Release(This)	\    (This)->lpVtbl -> Release(This)#define IFilterGraph2_AddFilter(This,pFilter,pName)	\    (This)->lpVtbl -> AddFilter(This,pFilter,pName)#define IFilterGraph2_RemoveFilter(This,pFilter)	\    (This)->lpVtbl -> RemoveFilter(This,pFilter)#define IFilterGraph2_EnumFilters(This,ppEnum)	\    (This)->lpVtbl -> EnumFilters(This,ppEnum)#define IFilterGraph2_FindFilterByName(This,pName,ppFilter)	\    (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)#define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt)	\    (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)#define IFilterGraph2_Reconnect(This,ppin)	\    (This)->lpVtbl -> Reconnect(This,ppin)#define IFilterGraph2_Disconnect(This,ppin)	\    (This)->lpVtbl -> Disconnect(This,ppin)#define IFilterGraph2_SetDefaultSyncSource(This)	\    (This)->lpVtbl -> SetDefaultSyncSource(This)#define IFilterGraph2_Connect(This,ppinOut,ppinIn)	\    (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)#define IFilterGraph2_Render(This,ppinOut)	\    (This)->lpVtbl -> Render(This,ppinOut)#define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList)	\    (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)#define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)	\    (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)#define IFilterGraph2_SetLogFile(This,hFile)	\    (This)->lpVtbl -> SetLogFile(This,hFile)#define IFilterGraph2_Abort(This)	\    (This)->lpVtbl -> Abort(This)#define IFilterGraph2_ShouldOperationContinue(This)	\    (This)->lpVtbl -> ShouldOperationContinue(This)#define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)	\    (This)->lpVtbl -> AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)#define IFilterGraph2_ReconnectEx(This,ppin,pmt)	\    (This)->lpVtbl -> ReconnectEx(This,ppin,pmt)#define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext)	\    (This)->lpVtbl -> RenderEx(This,pPinOut,dwFlags,pvContext)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy(    IFilterGraph2 * This,    /* [in] */ IMoniker *pMoniker,    /* [in] */ IBindCtx *pCtx,    /* [unique][in] */ LPCWSTR lpcwstrFilterName,    /* [out] */ IBaseFilter **ppFilter);void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy(    IFilterGraph2 * This,    /* [in] */ IPin *ppin,    /* [unique][in] */ const AM_MEDIA_TYPE *pmt);void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy(    IFilterGraph2 * This,    /* [in] */ IPin *pPinOut,    /* [in] */ DWORD dwFlags,    /* [out][in] */ DWORD *pvContext);void __RPC_STUB IFilterGraph2_RenderEx_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IFilterGraph2_INTERFACE_DEFINED__ */#ifndef __IStreamBuilder_INTERFACE_DEFINED__#define __IStreamBuilder_INTERFACE_DEFINED__/* interface IStreamBuilder *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IStreamBuilder;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")    IStreamBuilder : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Render(            /* [in] */ IPin *ppinOut,            /* [in] */ IGraphBuilder *pGraph) = 0;        virtual HRESULT STDMETHODCALLTYPE Backout(            /* [in] */ IPin *ppinOut,            /* [in] */ IGraphBuilder *pGraph) = 0;    };#else 	/* C style interface */    typedef struct IStreamBuilderVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IStreamBuilder * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IStreamBuilder * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IStreamBuilder * This);        HRESULT ( STDMETHODCALLTYPE *Render )(            IStreamBuilder * This,            /* [in] */ IPin *ppinOut,            /* [in] */ IGraphBuilder *pGraph);        HRESULT ( STDMETHODCALLTYPE *Backout )(            IStreamBuilder * This,            /* [in] */ IPin *ppinOut,            /* [in] */ IGraphBuilder *pGraph);        END_INTERFACE    } IStreamBuilderVtbl;    interface IStreamBuilder    {        CONST_VTBL struct IStreamBuilderVtbl *lpVtbl;    };#ifdef COBJMACROS#define IStreamBuilder_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IStreamBuilder_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IStreamBuilder_Release(This)	\    (This)->lpVtbl -> Release(This)#define IStreamBuilder_Render(This,ppinOut,pGraph)	\    (This)->lpVtbl -> Render(This,ppinOut,pGraph)#define IStreamBuilder_Backout(This,ppinOut,pGraph)	\    (This)->lpVtbl -> Backout(This,ppinOut,pGraph)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy(    IStreamBuilder * This,    /* [in] */ IPin *ppinOut,    /* [in] */ IGraphBuilder *pGraph);void __RPC_STUB IStreamBuilder_Render_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy(    IStreamBuilder * This,    /* [in] */ IPin *ppinOut,    /* [in] */ IGraphBuilder *pGraph);void __RPC_STUB IStreamBuilder_Backout_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IStreamBuilder_INTERFACE_DEFINED__ */#ifndef __IAsyncReader_INTERFACE_DEFINED__#define __IAsyncReader_INTERFACE_DEFINED__/* interface IAsyncReader *//* [unique][uuid][object] */EXTERN_C const IID IID_IAsyncReader;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")    IAsyncReader : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE RequestAllocator(            /* [in] */ IMemAllocator *pPreferred,            /* [in] */ ALLOCATOR_PROPERTIES *pProps,            /* [out] */ IMemAllocator **ppActual) = 0;        virtual HRESULT STDMETHODCALLTYPE Request(            /* [in] */ IMediaSample *pSample,            /* [in] */ DWORD_PTR dwUser) = 0;        virtual HRESULT STDMETHODCALLTYPE WaitForNext(            /* [in] */ DWORD dwTimeout,            /* [out] */ IMediaSample **ppSample,            /* [out] */ DWORD_PTR *pdwUser) = 0;        virtual HRESULT STDMETHODCALLTYPE SyncReadAligned(            /* [in] */ IMediaSample *pSample) = 0;        virtual HRESULT STDMETHODCALLTYPE SyncRead(            /* [in] */ LONGLONG llPosition,            /* [in] */ LONG lLength,            /* [size_is][out] */ BYTE *pBuffer) = 0;        virtual HRESULT STDMETHODCALLTYPE Length(            /* [out] */ LONGLONG *pTotal,            /* [out] */ LONGLONG *pAvailable) = 0;        virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;        virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;    };#else 	/* C style interface */    typedef struct IAsyncReaderVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAsyncReader * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAsyncReader * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAsyncReader * This);        HRESULT ( STDMETHODCALLTYPE *RequestAllocator )(            IAsyncReader * This,            /* [in] */ IMemAllocator *pPreferred,            /* [in] */ ALLOCATOR_PROPERTIES *pProps,            /* [out] */ IMemAllocator **ppActual);        HRESULT ( STDMETHODCALLTYPE *Request )(            IAsyncReader * This,            /* [in] */ IMediaSample *pSample,            /* [in] */ DWORD_PTR dwUser);        HRESULT ( STDMETHODCALLTYPE *WaitForNext )(            IAsyncReader * This,            /* [in] */ DWORD dwTimeout,            /* [out] */ IMediaSample **ppSample,            /* [out] */ DWORD_PTR *pdwUser);        HRESULT ( STDMETHODCALLTYPE *SyncReadAligned )(            IAsyncReader * This,            /* [in] */ IMediaSample *pSample);        HRESULT ( STDMETHODCALLTYPE *SyncRead )(            IAsyncReader * This,            /* [in] */ LONGLONG llPosition,            /* [in] */ LONG lLength,            /* [size_is][out] */ BYTE *pBuffer);        HRESULT ( STDMETHODCALLTYPE *Length )(            IAsyncReader * This,            /* [out] */ LONGLONG *pTotal,            /* [out] */ LONGLONG *pAvailable);        HRESULT ( STDMETHODCALLTYPE *BeginFlush )(            IAsyncReader * This);        HRESULT ( STDMETHODCALLTYPE *EndFlush )(            IAsyncReader * This);        END_INTERFACE    } IAsyncReaderVtbl;    interface IAsyncReader    {        CONST_VTBL struct IAsyncReaderVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAsyncReader_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAsyncReader_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAsyncReader_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual)	\    (This)->lpVtbl -> RequestAllocator(This,pPreferred,pProps,ppActual)#define IAsyncReader_Request(This,pSample,dwUser)	\    (This)->lpVtbl -> Request(This,pSample,dwUser)#define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser)	\    (This)->lpVtbl -> WaitForNext(This,dwTimeout,ppSample,pdwUser)#define IAsyncReader_SyncReadAligned(This,pSample)	\    (This)->lpVtbl -> SyncReadAligned(This,pSample)#define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer)	\    (This)->lpVtbl -> SyncRead(This,llPosition,lLength,pBuffer)#define IAsyncReader_Length(This,pTotal,pAvailable)	\    (This)->lpVtbl -> Length(This,pTotal,pAvailable)#define IAsyncReader_BeginFlush(This)	\    (This)->lpVtbl -> BeginFlush(This)#define IAsyncReader_EndFlush(This)	\    (This)->lpVtbl -> EndFlush(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy(    IAsyncReader * This,    /* [in] */ IMemAllocator *pPreferred,    /* [in] */ ALLOCATOR_PROPERTIES *pProps,    /* [out] */ IMemAllocator **ppActual);void __RPC_STUB IAsyncReader_RequestAllocator_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy(    IAsyncReader * This,    /* [in] */ IMediaSample *pSample,    /* [in] */ DWORD_PTR dwUser);void __RPC_STUB IAsyncReader_Request_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy(    IAsyncReader * This,    /* [in] */ DWORD dwTimeout,    /* [out] */ IMediaSample **ppSample,    /* [out] */ DWORD_PTR *pdwUser);void __RPC_STUB IAsyncReader_WaitForNext_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy(    IAsyncReader * This,    /* [in] */ IMediaSample *pSample);void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAsyncReader_SyncRead_Proxy(    IAsyncReader * This,    /* [in] */ LONGLONG llPosition,    /* [in] */ LONG lLength,    /* [size_is][out] */ BYTE *pBuffer);void __RPC_STUB IAsyncReader_SyncRead_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAsyncReader_Length_Proxy(    IAsyncReader * This,    /* [out] */ LONGLONG *pTotal,    /* [out] */ LONGLONG *pAvailable);void __RPC_STUB IAsyncReader_Length_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAsyncReader_BeginFlush_Proxy(    IAsyncReader * This);void __RPC_STUB IAsyncReader_BeginFlush_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAsyncReader_EndFlush_Proxy(    IAsyncReader * This);void __RPC_STUB IAsyncReader_EndFlush_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAsyncReader_INTERFACE_DEFINED__ */#ifndef __IGraphVersion_INTERFACE_DEFINED__#define __IGraphVersion_INTERFACE_DEFINED__/* interface IGraphVersion *//* [unique][uuid][object] */EXTERN_C const IID IID_IGraphVersion;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")    IGraphVersion : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE QueryVersion(            LONG *pVersion) = 0;    };#else 	/* C style interface */    typedef struct IGraphVersionVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IGraphVersion * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IGraphVersion * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IGraphVersion * This);        HRESULT ( STDMETHODCALLTYPE *QueryVersion )(            IGraphVersion * This,            LONG *pVersion);        END_INTERFACE    } IGraphVersionVtbl;    interface IGraphVersion    {        CONST_VTBL struct IGraphVersionVtbl *lpVtbl;    };#ifdef COBJMACROS#define IGraphVersion_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IGraphVersion_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IGraphVersion_Release(This)	\    (This)->lpVtbl -> Release(This)#define IGraphVersion_QueryVersion(This,pVersion)	\    (This)->lpVtbl -> QueryVersion(This,pVersion)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IGraphVersion_QueryVersion_Proxy(    IGraphVersion * This,    LONG *pVersion);void __RPC_STUB IGraphVersion_QueryVersion_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IGraphVersion_INTERFACE_DEFINED__ */#ifndef __IResourceConsumer_INTERFACE_DEFINED__#define __IResourceConsumer_INTERFACE_DEFINED__/* interface IResourceConsumer *//* [unique][uuid][object] */EXTERN_C const IID IID_IResourceConsumer;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")    IResourceConsumer : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE AcquireResource(            /* [in] */ LONG idResource) = 0;        virtual HRESULT STDMETHODCALLTYPE ReleaseResource(            /* [in] */ LONG idResource) = 0;    };#else 	/* C style interface */    typedef struct IResourceConsumerVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IResourceConsumer * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IResourceConsumer * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IResourceConsumer * This);        HRESULT ( STDMETHODCALLTYPE *AcquireResource )(            IResourceConsumer * This,            /* [in] */ LONG idResource);        HRESULT ( STDMETHODCALLTYPE *ReleaseResource )(            IResourceConsumer * This,            /* [in] */ LONG idResource);        END_INTERFACE    } IResourceConsumerVtbl;    interface IResourceConsumer    {        CONST_VTBL struct IResourceConsumerVtbl *lpVtbl;    };#ifdef COBJMACROS#define IResourceConsumer_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IResourceConsumer_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IResourceConsumer_Release(This)	\    (This)->lpVtbl -> Release(This)#define IResourceConsumer_AcquireResource(This,idResource)	\    (This)->lpVtbl -> AcquireResource(This,idResource)#define IResourceConsumer_ReleaseResource(This,idResource)	\    (This)->lpVtbl -> ReleaseResource(This,idResource)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IResourceConsumer_AcquireResource_Proxy(    IResourceConsumer * This,    /* [in] */ LONG idResource);void __RPC_STUB IResourceConsumer_AcquireResource_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IResourceConsumer_ReleaseResource_Proxy(    IResourceConsumer * This,    /* [in] */ LONG idResource);void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IResourceConsumer_INTERFACE_DEFINED__ */#ifndef __IResourceManager_INTERFACE_DEFINED__#define __IResourceManager_INTERFACE_DEFINED__/* interface IResourceManager *//* [unique][uuid][object] */EXTERN_C const IID IID_IResourceManager;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")    IResourceManager : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Register(            /* [in] */ LPCWSTR pName,            /* [in] */ LONG cResource,            /* [out] */ LONG *plToken) = 0;        virtual HRESULT STDMETHODCALLTYPE RegisterGroup(            /* [in] */ LPCWSTR pName,            /* [in] */ LONG cResource,            /* [size_is][in] */ LONG *palTokens,            /* [out] */ LONG *plToken) = 0;        virtual HRESULT STDMETHODCALLTYPE RequestResource(            /* [in] */ LONG idResource,            /* [in] */ IUnknown *pFocusObject,            /* [in] */ IResourceConsumer *pConsumer) = 0;        virtual HRESULT STDMETHODCALLTYPE NotifyAcquire(            /* [in] */ LONG idResource,            /* [in] */ IResourceConsumer *pConsumer,            /* [in] */ HRESULT hr) = 0;        virtual HRESULT STDMETHODCALLTYPE NotifyRelease(            /* [in] */ LONG idResource,            /* [in] */ IResourceConsumer *pConsumer,            /* [in] */ BOOL bStillWant) = 0;        virtual HRESULT STDMETHODCALLTYPE CancelRequest(            /* [in] */ LONG idResource,            /* [in] */ IResourceConsumer *pConsumer) = 0;        virtual HRESULT STDMETHODCALLTYPE SetFocus(            /* [in] */ IUnknown *pFocusObject) = 0;        virtual HRESULT STDMETHODCALLTYPE ReleaseFocus(            /* [in] */ IUnknown *pFocusObject) = 0;    };#else 	/* C style interface */    typedef struct IResourceManagerVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IResourceManager * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IResourceManager * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IResourceManager * This);        HRESULT ( STDMETHODCALLTYPE *Register )(            IResourceManager * This,            /* [in] */ LPCWSTR pName,            /* [in] */ LONG cResource,            /* [out] */ LONG *plToken);        HRESULT ( STDMETHODCALLTYPE *RegisterGroup )(            IResourceManager * This,            /* [in] */ LPCWSTR pName,            /* [in] */ LONG cResource,            /* [size_is][in] */ LONG *palTokens,            /* [out] */ LONG *plToken);        HRESULT ( STDMETHODCALLTYPE *RequestResource )(            IResourceManager * This,            /* [in] */ LONG idResource,            /* [in] */ IUnknown *pFocusObject,            /* [in] */ IResourceConsumer *pConsumer);        HRESULT ( STDMETHODCALLTYPE *NotifyAcquire )(            IResourceManager * This,            /* [in] */ LONG idResource,            /* [in] */ IResourceConsumer *pConsumer,            /* [in] */ HRESULT hr);        HRESULT ( STDMETHODCALLTYPE *NotifyRelease )(            IResourceManager * This,            /* [in] */ LONG idResource,            /* [in] */ IResourceConsumer *pConsumer,            /* [in] */ BOOL bStillWant);        HRESULT ( STDMETHODCALLTYPE *CancelRequest )(            IResourceManager * This,            /* [in] */ LONG idResource,            /* [in] */ IResourceConsumer *pConsumer);        HRESULT ( STDMETHODCALLTYPE *SetFocus )(            IResourceManager * This,            /* [in] */ IUnknown *pFocusObject);        HRESULT ( STDMETHODCALLTYPE *ReleaseFocus )(            IResourceManager * This,            /* [in] */ IUnknown *pFocusObject);        END_INTERFACE    } IResourceManagerVtbl;    interface IResourceManager    {        CONST_VTBL struct IResourceManagerVtbl *lpVtbl;    };#ifdef COBJMACROS#define IResourceManager_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IResourceManager_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IResourceManager_Release(This)	\    (This)->lpVtbl -> Release(This)#define IResourceManager_Register(This,pName,cResource,plToken)	\    (This)->lpVtbl -> Register(This,pName,cResource,plToken)#define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken)	\    (This)->lpVtbl -> RegisterGroup(This,pName,cResource,palTokens,plToken)#define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer)	\    (This)->lpVtbl -> RequestResource(This,idResource,pFocusObject,pConsumer)#define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr)	\    (This)->lpVtbl -> NotifyAcquire(This,idResource,pConsumer,hr)#define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant)	\    (This)->lpVtbl -> NotifyRelease(This,idResource,pConsumer,bStillWant)#define IResourceManager_CancelRequest(This,idResource,pConsumer)	\    (This)->lpVtbl -> CancelRequest(This,idResource,pConsumer)#define IResourceManager_SetFocus(This,pFocusObject)	\    (This)->lpVtbl -> SetFocus(This,pFocusObject)#define IResourceManager_ReleaseFocus(This,pFocusObject)	\    (This)->lpVtbl -> ReleaseFocus(This,pFocusObject)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IResourceManager_Register_Proxy(    IResourceManager * This,    /* [in] */ LPCWSTR pName,    /* [in] */ LONG cResource,    /* [out] */ LONG *plToken);void __RPC_STUB IResourceManager_Register_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IResourceManager_RegisterGroup_Proxy(    IResourceManager * This,    /* [in] */ LPCWSTR pName,    /* [in] */ LONG cResource,    /* [size_is][in] */ LONG *palTokens,    /* [out] */ LONG *plToken);void __RPC_STUB IResourceManager_RegisterGroup_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IResourceManager_RequestResource_Proxy(    IResourceManager * This,    /* [in] */ LONG idResource,    /* [in] */ IUnknown *pFocusObject,    /* [in] */ IResourceConsumer *pConsumer);void __RPC_STUB IResourceManager_RequestResource_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IResourceManager_NotifyAcquire_Proxy(    IResourceManager * This,    /* [in] */ LONG idResource,    /* [in] */ IResourceConsumer *pConsumer,    /* [in] */ HRESULT hr);void __RPC_STUB IResourceManager_NotifyAcquire_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IResourceManager_NotifyRelease_Proxy(    IResourceManager * This,    /* [in] */ LONG idResource,    /* [in] */ IResourceConsumer *pConsumer,    /* [in] */ BOOL bStillWant);void __RPC_STUB IResourceManager_NotifyRelease_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IResourceManager_CancelRequest_Proxy(    IResourceManager * This,    /* [in] */ LONG idResource,    /* [in] */ IResourceConsumer *pConsumer);void __RPC_STUB IResourceManager_CancelRequest_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IResourceManager_SetFocus_Proxy(    IResourceManager * This,    /* [in] */ IUnknown *pFocusObject);void __RPC_STUB IResourceManager_SetFocus_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IResourceManager_ReleaseFocus_Proxy(    IResourceManager * This,    /* [in] */ IUnknown *pFocusObject);void __RPC_STUB IResourceManager_ReleaseFocus_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IResourceManager_INTERFACE_DEFINED__ */#ifndef __IDistributorNotify_INTERFACE_DEFINED__#define __IDistributorNotify_INTERFACE_DEFINED__/* interface IDistributorNotify *//* [unique][uuid][object] */EXTERN_C const IID IID_IDistributorNotify;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56a868af-0ad4-11ce-b03a-0020af0ba770")    IDistributorNotify : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Run(            REFERENCE_TIME tStart) = 0;        virtual HRESULT STDMETHODCALLTYPE SetSyncSource(            /* [in] */ IReferenceClock *pClock) = 0;        virtual HRESULT STDMETHODCALLTYPE NotifyGraphChange( void) = 0;    };#else 	/* C style interface */    typedef struct IDistributorNotifyVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDistributorNotify * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDistributorNotify * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDistributorNotify * This);        HRESULT ( STDMETHODCALLTYPE *Stop )(            IDistributorNotify * This);        HRESULT ( STDMETHODCALLTYPE *Pause )(            IDistributorNotify * This);        HRESULT ( STDMETHODCALLTYPE *Run )(            IDistributorNotify * This,            REFERENCE_TIME tStart);        HRESULT ( STDMETHODCALLTYPE *SetSyncSource )(            IDistributorNotify * This,            /* [in] */ IReferenceClock *pClock);        HRESULT ( STDMETHODCALLTYPE *NotifyGraphChange )(            IDistributorNotify * This);        END_INTERFACE    } IDistributorNotifyVtbl;    interface IDistributorNotify    {        CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;    };#ifdef COBJMACROS#define IDistributorNotify_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDistributorNotify_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDistributorNotify_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDistributorNotify_Stop(This)	\    (This)->lpVtbl -> Stop(This)#define IDistributorNotify_Pause(This)	\    (This)->lpVtbl -> Pause(This)#define IDistributorNotify_Run(This,tStart)	\    (This)->lpVtbl -> Run(This,tStart)#define IDistributorNotify_SetSyncSource(This,pClock)	\    (This)->lpVtbl -> SetSyncSource(This,pClock)#define IDistributorNotify_NotifyGraphChange(This)	\    (This)->lpVtbl -> NotifyGraphChange(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDistributorNotify_Stop_Proxy(    IDistributorNotify * This);void __RPC_STUB IDistributorNotify_Stop_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDistributorNotify_Pause_Proxy(    IDistributorNotify * This);void __RPC_STUB IDistributorNotify_Pause_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDistributorNotify_Run_Proxy(    IDistributorNotify * This,    REFERENCE_TIME tStart);void __RPC_STUB IDistributorNotify_Run_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDistributorNotify_SetSyncSource_Proxy(    IDistributorNotify * This,    /* [in] */ IReferenceClock *pClock);void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDistributorNotify_NotifyGraphChange_Proxy(    IDistributorNotify * This);void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDistributorNotify_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0155 *//* [local] */typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0155_0001    {	AM_STREAM_INFO_START_DEFINED	= 0x1,	AM_STREAM_INFO_STOP_DEFINED	= 0x2,	AM_STREAM_INFO_DISCARDING	= 0x4,	AM_STREAM_INFO_STOP_SEND_EXTRA	= 0x10    } 	AM_STREAM_INFO_FLAGS;typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0155_0002    {    REFERENCE_TIME tStart;    REFERENCE_TIME tStop;    DWORD dwStartCookie;    DWORD dwStopCookie;    DWORD dwFlags;    } 	AM_STREAM_INFO;extern RPC_IF_HANDLE __MIDL_itf_strmif_0155_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0155_v0_0_s_ifspec;#ifndef __IAMStreamControl_INTERFACE_DEFINED__#define __IAMStreamControl_INTERFACE_DEFINED__/* interface IAMStreamControl *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMStreamControl;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60")    IAMStreamControl : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE StartAt(            /* [in] */ const REFERENCE_TIME *ptStart,            /* [in] */ DWORD dwCookie) = 0;        virtual HRESULT STDMETHODCALLTYPE StopAt(            /* [in] */ const REFERENCE_TIME *ptStop,            /* [in] */ BOOL bSendExtra,            /* [in] */ DWORD dwCookie) = 0;        virtual HRESULT STDMETHODCALLTYPE GetInfo(            /* [out] */ AM_STREAM_INFO *pInfo) = 0;    };#else 	/* C style interface */    typedef struct IAMStreamControlVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMStreamControl * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMStreamControl * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMStreamControl * This);        HRESULT ( STDMETHODCALLTYPE *StartAt )(            IAMStreamControl * This,            /* [in] */ const REFERENCE_TIME *ptStart,            /* [in] */ DWORD dwCookie);        HRESULT ( STDMETHODCALLTYPE *StopAt )(            IAMStreamControl * This,            /* [in] */ const REFERENCE_TIME *ptStop,            /* [in] */ BOOL bSendExtra,            /* [in] */ DWORD dwCookie);        HRESULT ( STDMETHODCALLTYPE *GetInfo )(            IAMStreamControl * This,            /* [out] */ AM_STREAM_INFO *pInfo);        END_INTERFACE    } IAMStreamControlVtbl;    interface IAMStreamControl    {        CONST_VTBL struct IAMStreamControlVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMStreamControl_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMStreamControl_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMStreamControl_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMStreamControl_StartAt(This,ptStart,dwCookie)	\    (This)->lpVtbl -> StartAt(This,ptStart,dwCookie)#define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie)	\    (This)->lpVtbl -> StopAt(This,ptStop,bSendExtra,dwCookie)#define IAMStreamControl_GetInfo(This,pInfo)	\    (This)->lpVtbl -> GetInfo(This,pInfo)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMStreamControl_StartAt_Proxy(    IAMStreamControl * This,    /* [in] */ const REFERENCE_TIME *ptStart,    /* [in] */ DWORD dwCookie);void __RPC_STUB IAMStreamControl_StartAt_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMStreamControl_StopAt_Proxy(    IAMStreamControl * This,    /* [in] */ const REFERENCE_TIME *ptStop,    /* [in] */ BOOL bSendExtra,    /* [in] */ DWORD dwCookie);void __RPC_STUB IAMStreamControl_StopAt_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMStreamControl_GetInfo_Proxy(    IAMStreamControl * This,    /* [out] */ AM_STREAM_INFO *pInfo);void __RPC_STUB IAMStreamControl_GetInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMStreamControl_INTERFACE_DEFINED__ */#ifndef __ISeekingPassThru_INTERFACE_DEFINED__#define __ISeekingPassThru_INTERFACE_DEFINED__/* interface ISeekingPassThru *//* [unique][uuid][object] */EXTERN_C const IID IID_ISeekingPassThru;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")    ISeekingPassThru : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Init(            /* [in] */ BOOL bSupportRendering,            /* [in] */ IPin *pPin) = 0;    };#else 	/* C style interface */    typedef struct ISeekingPassThruVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            ISeekingPassThru * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            ISeekingPassThru * This);        ULONG ( STDMETHODCALLTYPE *Release )(            ISeekingPassThru * This);        HRESULT ( STDMETHODCALLTYPE *Init )(            ISeekingPassThru * This,            /* [in] */ BOOL bSupportRendering,            /* [in] */ IPin *pPin);        END_INTERFACE    } ISeekingPassThruVtbl;    interface ISeekingPassThru    {        CONST_VTBL struct ISeekingPassThruVtbl *lpVtbl;    };#ifdef COBJMACROS#define ISeekingPassThru_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define ISeekingPassThru_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define ISeekingPassThru_Release(This)	\    (This)->lpVtbl -> Release(This)#define ISeekingPassThru_Init(This,bSupportRendering,pPin)	\    (This)->lpVtbl -> Init(This,bSupportRendering,pPin)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE ISeekingPassThru_Init_Proxy(    ISeekingPassThru * This,    /* [in] */ BOOL bSupportRendering,    /* [in] */ IPin *pPin);void __RPC_STUB ISeekingPassThru_Init_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __ISeekingPassThru_INTERFACE_DEFINED__ */#ifndef __IAMStreamConfig_INTERFACE_DEFINED__#define __IAMStreamConfig_INTERFACE_DEFINED__/* interface IAMStreamConfig *//* [unique][uuid][object] */typedef struct _VIDEO_STREAM_CONFIG_CAPS    {    GUID guid;    ULONG VideoStandard;    SIZE InputSize;    SIZE MinCroppingSize;    SIZE MaxCroppingSize;    int CropGranularityX;    int CropGranularityY;    int CropAlignX;    int CropAlignY;    SIZE MinOutputSize;    SIZE MaxOutputSize;    int OutputGranularityX;    int OutputGranularityY;    int StretchTapsX;    int StretchTapsY;    int ShrinkTapsX;    int ShrinkTapsY;    LONGLONG MinFrameInterval;    LONGLONG MaxFrameInterval;    LONG MinBitsPerSecond;    LONG MaxBitsPerSecond;    } 	VIDEO_STREAM_CONFIG_CAPS;typedef struct _AUDIO_STREAM_CONFIG_CAPS    {    GUID guid;    ULONG MinimumChannels;    ULONG MaximumChannels;    ULONG ChannelsGranularity;    ULONG MinimumBitsPerSample;    ULONG MaximumBitsPerSample;    ULONG BitsPerSampleGranularity;    ULONG MinimumSampleFrequency;    ULONG MaximumSampleFrequency;    ULONG SampleFrequencyGranularity;    } 	AUDIO_STREAM_CONFIG_CAPS;EXTERN_C const IID IID_IAMStreamConfig;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("C6E13340-30AC-11d0-A18C-00A0C9118956")    IAMStreamConfig : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetFormat(            /* [in] */ AM_MEDIA_TYPE *pmt) = 0;        virtual HRESULT STDMETHODCALLTYPE GetFormat(            /* [out] */ AM_MEDIA_TYPE **ppmt) = 0;        virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities(            /* [out] */ int *piCount,            /* [out] */ int *piSize) = 0;        virtual HRESULT STDMETHODCALLTYPE GetStreamCaps(            /* [in] */ int iIndex,            /* [out] */ AM_MEDIA_TYPE **ppmt,            /* [out] */ BYTE *pSCC) = 0;    };#else 	/* C style interface */    typedef struct IAMStreamConfigVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMStreamConfig * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMStreamConfig * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMStreamConfig * This);        HRESULT ( STDMETHODCALLTYPE *SetFormat )(            IAMStreamConfig * This,            /* [in] */ AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *GetFormat )(            IAMStreamConfig * This,            /* [out] */ AM_MEDIA_TYPE **ppmt);        HRESULT ( STDMETHODCALLTYPE *GetNumberOfCapabilities )(            IAMStreamConfig * This,            /* [out] */ int *piCount,            /* [out] */ int *piSize);        HRESULT ( STDMETHODCALLTYPE *GetStreamCaps )(            IAMStreamConfig * This,            /* [in] */ int iIndex,            /* [out] */ AM_MEDIA_TYPE **ppmt,            /* [out] */ BYTE *pSCC);        END_INTERFACE    } IAMStreamConfigVtbl;    interface IAMStreamConfig    {        CONST_VTBL struct IAMStreamConfigVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMStreamConfig_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMStreamConfig_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMStreamConfig_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMStreamConfig_SetFormat(This,pmt)	\    (This)->lpVtbl -> SetFormat(This,pmt)#define IAMStreamConfig_GetFormat(This,ppmt)	\    (This)->lpVtbl -> GetFormat(This,ppmt)#define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize)	\    (This)->lpVtbl -> GetNumberOfCapabilities(This,piCount,piSize)#define IAMStreamConfig_GetStreamCaps(This,iIndex,ppmt,pSCC)	\    (This)->lpVtbl -> GetStreamCaps(This,iIndex,ppmt,pSCC)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy(    IAMStreamConfig * This,    /* [in] */ AM_MEDIA_TYPE *pmt);void __RPC_STUB IAMStreamConfig_SetFormat_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy(    IAMStreamConfig * This,    /* [out] */ AM_MEDIA_TYPE **ppmt);void __RPC_STUB IAMStreamConfig_GetFormat_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy(    IAMStreamConfig * This,    /* [out] */ int *piCount,    /* [out] */ int *piSize);void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy(    IAMStreamConfig * This,    /* [in] */ int iIndex,    /* [out] */ AM_MEDIA_TYPE **ppmt,    /* [out] */ BYTE *pSCC);void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMStreamConfig_INTERFACE_DEFINED__ */#ifndef __IConfigInterleaving_INTERFACE_DEFINED__#define __IConfigInterleaving_INTERFACE_DEFINED__/* interface IConfigInterleaving *//* [unique][uuid][object] */typedef /* [public][public][public] */enum __MIDL_IConfigInterleaving_0001    {	INTERLEAVE_NONE	= 0,	INTERLEAVE_CAPTURE	= INTERLEAVE_NONE + 1,	INTERLEAVE_FULL	= INTERLEAVE_CAPTURE + 1,	INTERLEAVE_NONE_BUFFERED	= INTERLEAVE_FULL + 1    } 	InterleavingMode;EXTERN_C const IID IID_IConfigInterleaving;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("BEE3D220-157B-11d0-BD23-00A0C911CE86")    IConfigInterleaving : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE put_Mode(            /* [in] */ InterleavingMode mode) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Mode(            /* [out] */ InterleavingMode *pMode) = 0;        virtual HRESULT STDMETHODCALLTYPE put_Interleaving(            /* [in] */ const REFERENCE_TIME *prtInterleave,            /* [in] */ const REFERENCE_TIME *prtPreroll) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Interleaving(            /* [out] */ REFERENCE_TIME *prtInterleave,            /* [out] */ REFERENCE_TIME *prtPreroll) = 0;    };#else 	/* C style interface */    typedef struct IConfigInterleavingVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IConfigInterleaving * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IConfigInterleaving * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IConfigInterleaving * This);        HRESULT ( STDMETHODCALLTYPE *put_Mode )(            IConfigInterleaving * This,            /* [in] */ InterleavingMode mode);        HRESULT ( STDMETHODCALLTYPE *get_Mode )(            IConfigInterleaving * This,            /* [out] */ InterleavingMode *pMode);        HRESULT ( STDMETHODCALLTYPE *put_Interleaving )(            IConfigInterleaving * This,            /* [in] */ const REFERENCE_TIME *prtInterleave,            /* [in] */ const REFERENCE_TIME *prtPreroll);        HRESULT ( STDMETHODCALLTYPE *get_Interleaving )(            IConfigInterleaving * This,            /* [out] */ REFERENCE_TIME *prtInterleave,            /* [out] */ REFERENCE_TIME *prtPreroll);        END_INTERFACE    } IConfigInterleavingVtbl;    interface IConfigInterleaving    {        CONST_VTBL struct IConfigInterleavingVtbl *lpVtbl;    };#ifdef COBJMACROS#define IConfigInterleaving_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IConfigInterleaving_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IConfigInterleaving_Release(This)	\    (This)->lpVtbl -> Release(This)#define IConfigInterleaving_put_Mode(This,mode)	\    (This)->lpVtbl -> put_Mode(This,mode)#define IConfigInterleaving_get_Mode(This,pMode)	\    (This)->lpVtbl -> get_Mode(This,pMode)#define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll)	\    (This)->lpVtbl -> put_Interleaving(This,prtInterleave,prtPreroll)#define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll)	\    (This)->lpVtbl -> get_Interleaving(This,prtInterleave,prtPreroll)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Mode_Proxy(    IConfigInterleaving * This,    /* [in] */ InterleavingMode mode);void __RPC_STUB IConfigInterleaving_put_Mode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Mode_Proxy(    IConfigInterleaving * This,    /* [out] */ InterleavingMode *pMode);void __RPC_STUB IConfigInterleaving_get_Mode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Interleaving_Proxy(    IConfigInterleaving * This,    /* [in] */ const REFERENCE_TIME *prtInterleave,    /* [in] */ const REFERENCE_TIME *prtPreroll);void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Interleaving_Proxy(    IConfigInterleaving * This,    /* [out] */ REFERENCE_TIME *prtInterleave,    /* [out] */ REFERENCE_TIME *prtPreroll);void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IConfigInterleaving_INTERFACE_DEFINED__ */#ifndef __IConfigAviMux_INTERFACE_DEFINED__#define __IConfigAviMux_INTERFACE_DEFINED__/* interface IConfigAviMux *//* [unique][uuid][object] */EXTERN_C const IID IID_IConfigAviMux;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("5ACD6AA0-F482-11ce-8B67-00AA00A3F1A6")    IConfigAviMux : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetMasterStream(            /* [in] */ LONG iStream) = 0;        virtual HRESULT STDMETHODCALLTYPE GetMasterStream(            /* [out] */ LONG *pStream) = 0;        virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex(            /* [in] */ BOOL fOldIndex) = 0;        virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex(            /* [out] */ BOOL *pfOldIndex) = 0;    };#else 	/* C style interface */    typedef struct IConfigAviMuxVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IConfigAviMux * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IConfigAviMux * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IConfigAviMux * This);        HRESULT ( STDMETHODCALLTYPE *SetMasterStream )(            IConfigAviMux * This,            /* [in] */ LONG iStream);        HRESULT ( STDMETHODCALLTYPE *GetMasterStream )(            IConfigAviMux * This,            /* [out] */ LONG *pStream);        HRESULT ( STDMETHODCALLTYPE *SetOutputCompatibilityIndex )(            IConfigAviMux * This,            /* [in] */ BOOL fOldIndex);        HRESULT ( STDMETHODCALLTYPE *GetOutputCompatibilityIndex )(            IConfigAviMux * This,            /* [out] */ BOOL *pfOldIndex);        END_INTERFACE    } IConfigAviMuxVtbl;    interface IConfigAviMux    {        CONST_VTBL struct IConfigAviMuxVtbl *lpVtbl;    };#ifdef COBJMACROS#define IConfigAviMux_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IConfigAviMux_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IConfigAviMux_Release(This)	\    (This)->lpVtbl -> Release(This)#define IConfigAviMux_SetMasterStream(This,iStream)	\    (This)->lpVtbl -> SetMasterStream(This,iStream)#define IConfigAviMux_GetMasterStream(This,pStream)	\    (This)->lpVtbl -> GetMasterStream(This,pStream)#define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex)	\    (This)->lpVtbl -> SetOutputCompatibilityIndex(This,fOldIndex)#define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex)	\    (This)->lpVtbl -> GetOutputCompatibilityIndex(This,pfOldIndex)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IConfigAviMux_SetMasterStream_Proxy(    IConfigAviMux * This,    /* [in] */ LONG iStream);void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IConfigAviMux_GetMasterStream_Proxy(    IConfigAviMux * This,    /* [out] */ LONG *pStream);void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IConfigAviMux_SetOutputCompatibilityIndex_Proxy(    IConfigAviMux * This,    /* [in] */ BOOL fOldIndex);void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IConfigAviMux_GetOutputCompatibilityIndex_Proxy(    IConfigAviMux * This,    /* [out] */ BOOL *pfOldIndex);void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IConfigAviMux_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0162 *//* [local] */typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0162_0001    {	CompressionCaps_CanQuality	= 0x1,	CompressionCaps_CanCrunch	= 0x2,	CompressionCaps_CanKeyFrame	= 0x4,	CompressionCaps_CanBFrame	= 0x8,	CompressionCaps_CanWindow	= 0x10    } 	CompressionCaps;extern RPC_IF_HANDLE __MIDL_itf_strmif_0162_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0162_v0_0_s_ifspec;#ifndef __IAMVideoCompression_INTERFACE_DEFINED__#define __IAMVideoCompression_INTERFACE_DEFINED__/* interface IAMVideoCompression *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMVideoCompression;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("C6E13343-30AC-11d0-A18C-00A0C9118956")    IAMVideoCompression : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate(            /* [in] */ long KeyFrameRate) = 0;        virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate(            /* [out] */ long *pKeyFrameRate) = 0;        virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame(            /* [in] */ long PFramesPerKeyFrame) = 0;        virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame(            /* [out] */ long *pPFramesPerKeyFrame) = 0;        virtual HRESULT STDMETHODCALLTYPE put_Quality(            /* [in] */ double Quality) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Quality(            /* [out] */ double *pQuality) = 0;        virtual HRESULT STDMETHODCALLTYPE put_WindowSize(            /* [in] */ DWORDLONG WindowSize) = 0;        virtual HRESULT STDMETHODCALLTYPE get_WindowSize(            /* [out] */ DWORDLONG *pWindowSize) = 0;        virtual HRESULT STDMETHODCALLTYPE GetInfo(            /* [size_is][out] */ WCHAR *pszVersion,            /* [out][in] */ int *pcbVersion,            /* [size_is][out] */ LPWSTR pszDescription,            /* [out][in] */ int *pcbDescription,            /* [out] */ long *pDefaultKeyFrameRate,            /* [out] */ long *pDefaultPFramesPerKey,            /* [out] */ double *pDefaultQuality,            /* [out] */ long *pCapabilities) = 0;        virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame(            /* [in] */ long FrameNumber) = 0;        virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize(            /* [in] */ long FrameNumber,            /* [in] */ long Size) = 0;    };#else 	/* C style interface */    typedef struct IAMVideoCompressionVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMVideoCompression * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMVideoCompression * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMVideoCompression * This);        HRESULT ( STDMETHODCALLTYPE *put_KeyFrameRate )(            IAMVideoCompression * This,            /* [in] */ long KeyFrameRate);        HRESULT ( STDMETHODCALLTYPE *get_KeyFrameRate )(            IAMVideoCompression * This,            /* [out] */ long *pKeyFrameRate);        HRESULT ( STDMETHODCALLTYPE *put_PFramesPerKeyFrame )(            IAMVideoCompression * This,            /* [in] */ long PFramesPerKeyFrame);        HRESULT ( STDMETHODCALLTYPE *get_PFramesPerKeyFrame )(            IAMVideoCompression * This,            /* [out] */ long *pPFramesPerKeyFrame);        HRESULT ( STDMETHODCALLTYPE *put_Quality )(            IAMVideoCompression * This,            /* [in] */ double Quality);        HRESULT ( STDMETHODCALLTYPE *get_Quality )(            IAMVideoCompression * This,            /* [out] */ double *pQuality);        HRESULT ( STDMETHODCALLTYPE *put_WindowSize )(            IAMVideoCompression * This,            /* [in] */ DWORDLONG WindowSize);        HRESULT ( STDMETHODCALLTYPE *get_WindowSize )(            IAMVideoCompression * This,            /* [out] */ DWORDLONG *pWindowSize);        HRESULT ( STDMETHODCALLTYPE *GetInfo )(            IAMVideoCompression * This,            /* [size_is][out] */ WCHAR *pszVersion,            /* [out][in] */ int *pcbVersion,            /* [size_is][out] */ LPWSTR pszDescription,            /* [out][in] */ int *pcbDescription,            /* [out] */ long *pDefaultKeyFrameRate,            /* [out] */ long *pDefaultPFramesPerKey,            /* [out] */ double *pDefaultQuality,            /* [out] */ long *pCapabilities);        HRESULT ( STDMETHODCALLTYPE *OverrideKeyFrame )(            IAMVideoCompression * This,            /* [in] */ long FrameNumber);        HRESULT ( STDMETHODCALLTYPE *OverrideFrameSize )(            IAMVideoCompression * This,            /* [in] */ long FrameNumber,            /* [in] */ long Size);        END_INTERFACE    } IAMVideoCompressionVtbl;    interface IAMVideoCompression    {        CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMVideoCompression_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMVideoCompression_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMVideoCompression_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate)	\    (This)->lpVtbl -> put_KeyFrameRate(This,KeyFrameRate)#define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate)	\    (This)->lpVtbl -> get_KeyFrameRate(This,pKeyFrameRate)#define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)	\    (This)->lpVtbl -> put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)#define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)	\    (This)->lpVtbl -> get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)#define IAMVideoCompression_put_Quality(This,Quality)	\    (This)->lpVtbl -> put_Quality(This,Quality)#define IAMVideoCompression_get_Quality(This,pQuality)	\    (This)->lpVtbl -> get_Quality(This,pQuality)#define IAMVideoCompression_put_WindowSize(This,WindowSize)	\    (This)->lpVtbl -> put_WindowSize(This,WindowSize)#define IAMVideoCompression_get_WindowSize(This,pWindowSize)	\    (This)->lpVtbl -> get_WindowSize(This,pWindowSize)#define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)	\    (This)->lpVtbl -> GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)#define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber)	\    (This)->lpVtbl -> OverrideKeyFrame(This,FrameNumber)#define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size)	\    (This)->lpVtbl -> OverrideFrameSize(This,FrameNumber,Size)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_KeyFrameRate_Proxy(    IAMVideoCompression * This,    /* [in] */ long KeyFrameRate);void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_KeyFrameRate_Proxy(    IAMVideoCompression * This,    /* [out] */ long *pKeyFrameRate);void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_PFramesPerKeyFrame_Proxy(    IAMVideoCompression * This,    /* [in] */ long PFramesPerKeyFrame);void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_PFramesPerKeyFrame_Proxy(    IAMVideoCompression * This,    /* [out] */ long *pPFramesPerKeyFrame);void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_Quality_Proxy(    IAMVideoCompression * This,    /* [in] */ double Quality);void __RPC_STUB IAMVideoCompression_put_Quality_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_Quality_Proxy(    IAMVideoCompression * This,    /* [out] */ double *pQuality);void __RPC_STUB IAMVideoCompression_get_Quality_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_WindowSize_Proxy(    IAMVideoCompression * This,    /* [in] */ DWORDLONG WindowSize);void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_WindowSize_Proxy(    IAMVideoCompression * This,    /* [out] */ DWORDLONG *pWindowSize);void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoCompression_GetInfo_Proxy(    IAMVideoCompression * This,    /* [size_is][out] */ WCHAR *pszVersion,    /* [out][in] */ int *pcbVersion,    /* [size_is][out] */ LPWSTR pszDescription,    /* [out][in] */ int *pcbDescription,    /* [out] */ long *pDefaultKeyFrameRate,    /* [out] */ long *pDefaultPFramesPerKey,    /* [out] */ double *pDefaultQuality,    /* [out] */ long *pCapabilities);void __RPC_STUB IAMVideoCompression_GetInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideKeyFrame_Proxy(    IAMVideoCompression * This,    /* [in] */ long FrameNumber);void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideFrameSize_Proxy(    IAMVideoCompression * This,    /* [in] */ long FrameNumber,    /* [in] */ long Size);void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMVideoCompression_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0163 *//* [local] */typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0163_0001    {	VfwCaptureDialog_Source	= 0x1,	VfwCaptureDialog_Format	= 0x2,	VfwCaptureDialog_Display	= 0x4    } 	VfwCaptureDialogs;typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0163_0002    {	VfwCompressDialog_Config	= 0x1,	VfwCompressDialog_About	= 0x2,	VfwCompressDialog_QueryConfig	= 0x4,	VfwCompressDialog_QueryAbout	= 0x8    } 	VfwCompressDialogs;extern RPC_IF_HANDLE __MIDL_itf_strmif_0163_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0163_v0_0_s_ifspec;#ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__#define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__/* interface IAMVfwCaptureDialogs *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IAMVfwCaptureDialogs;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("D8D715A0-6E5E-11D0-B3F0-00AA003761C5")    IAMVfwCaptureDialogs : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE HasDialog(            /* [in] */ int iDialog) = 0;        virtual HRESULT STDMETHODCALLTYPE ShowDialog(            /* [in] */ int iDialog,            /* [in] */ HWND hwnd) = 0;        virtual HRESULT STDMETHODCALLTYPE SendDriverMessage(            /* [in] */ int iDialog,            /* [in] */ int uMsg,            /* [in] */ long dw1,            /* [in] */ long dw2) = 0;    };#else 	/* C style interface */    typedef struct IAMVfwCaptureDialogsVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMVfwCaptureDialogs * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMVfwCaptureDialogs * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMVfwCaptureDialogs * This);        HRESULT ( STDMETHODCALLTYPE *HasDialog )(            IAMVfwCaptureDialogs * This,            /* [in] */ int iDialog);        HRESULT ( STDMETHODCALLTYPE *ShowDialog )(            IAMVfwCaptureDialogs * This,            /* [in] */ int iDialog,            /* [in] */ HWND hwnd);        HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )(            IAMVfwCaptureDialogs * This,            /* [in] */ int iDialog,            /* [in] */ int uMsg,            /* [in] */ long dw1,            /* [in] */ long dw2);        END_INTERFACE    } IAMVfwCaptureDialogsVtbl;    interface IAMVfwCaptureDialogs    {        CONST_VTBL struct IAMVfwCaptureDialogsVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMVfwCaptureDialogs_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMVfwCaptureDialogs_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMVfwCaptureDialogs_HasDialog(This,iDialog)	\    (This)->lpVtbl -> HasDialog(This,iDialog)#define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd)	\    (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)#define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2)	\    (This)->lpVtbl -> SendDriverMessage(This,iDialog,uMsg,dw1,dw2)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_HasDialog_Proxy(    IAMVfwCaptureDialogs * This,    /* [in] */ int iDialog);void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_ShowDialog_Proxy(    IAMVfwCaptureDialogs * This,    /* [in] */ int iDialog,    /* [in] */ HWND hwnd);void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_SendDriverMessage_Proxy(    IAMVfwCaptureDialogs * This,    /* [in] */ int iDialog,    /* [in] */ int uMsg,    /* [in] */ long dw1,    /* [in] */ long dw2);void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */#ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__#define __IAMVfwCompressDialogs_INTERFACE_DEFINED__/* interface IAMVfwCompressDialogs *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IAMVfwCompressDialogs;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("D8D715A3-6E5E-11D0-B3F0-00AA003761C5")    IAMVfwCompressDialogs : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE ShowDialog(            /* [in] */ int iDialog,            /* [in] */ HWND hwnd) = 0;        virtual HRESULT STDMETHODCALLTYPE GetState(            /* [size_is][out] */ LPVOID pState,            /* [out][in] */ int *pcbState) = 0;        virtual HRESULT STDMETHODCALLTYPE SetState(            /* [size_is][in] */ LPVOID pState,            /* [in] */ int cbState) = 0;        virtual HRESULT STDMETHODCALLTYPE SendDriverMessage(            /* [in] */ int uMsg,            /* [in] */ long dw1,            /* [in] */ long dw2) = 0;    };#else 	/* C style interface */    typedef struct IAMVfwCompressDialogsVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMVfwCompressDialogs * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMVfwCompressDialogs * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMVfwCompressDialogs * This);        HRESULT ( STDMETHODCALLTYPE *ShowDialog )(            IAMVfwCompressDialogs * This,            /* [in] */ int iDialog,            /* [in] */ HWND hwnd);        HRESULT ( STDMETHODCALLTYPE *GetState )(            IAMVfwCompressDialogs * This,            /* [size_is][out] */ LPVOID pState,            /* [out][in] */ int *pcbState);        HRESULT ( STDMETHODCALLTYPE *SetState )(            IAMVfwCompressDialogs * This,            /* [size_is][in] */ LPVOID pState,            /* [in] */ int cbState);        HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )(            IAMVfwCompressDialogs * This,            /* [in] */ int uMsg,            /* [in] */ long dw1,            /* [in] */ long dw2);        END_INTERFACE    } IAMVfwCompressDialogsVtbl;    interface IAMVfwCompressDialogs    {        CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMVfwCompressDialogs_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMVfwCompressDialogs_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd)	\    (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)#define IAMVfwCompressDialogs_GetState(This,pState,pcbState)	\    (This)->lpVtbl -> GetState(This,pState,pcbState)#define IAMVfwCompressDialogs_SetState(This,pState,cbState)	\    (This)->lpVtbl -> SetState(This,pState,cbState)#define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2)	\    (This)->lpVtbl -> SendDriverMessage(This,uMsg,dw1,dw2)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_ShowDialog_Proxy(    IAMVfwCompressDialogs * This,    /* [in] */ int iDialog,    /* [in] */ HWND hwnd);void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_GetState_Proxy(    IAMVfwCompressDialogs * This,    /* [size_is][out] */ LPVOID pState,    /* [out][in] */ int *pcbState);void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SetState_Proxy(    IAMVfwCompressDialogs * This,    /* [size_is][in] */ LPVOID pState,    /* [in] */ int cbState);void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SendDriverMessage_Proxy(    IAMVfwCompressDialogs * This,    /* [in] */ int uMsg,    /* [in] */ long dw1,    /* [in] */ long dw2);void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMVfwCompressDialogs_INTERFACE_DEFINED__ */#ifndef __IAMDroppedFrames_INTERFACE_DEFINED__#define __IAMDroppedFrames_INTERFACE_DEFINED__/* interface IAMDroppedFrames *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMDroppedFrames;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("C6E13344-30AC-11d0-A18C-00A0C9118956")    IAMDroppedFrames : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetNumDropped(            /* [out] */ long *plDropped) = 0;        virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped(            /* [out] */ long *plNotDropped) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo(            /* [in] */ long lSize,            /* [out] */ long *plArray,            /* [out] */ long *plNumCopied) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize(            /* [out] */ long *plAverageSize) = 0;    };#else 	/* C style interface */    typedef struct IAMDroppedFramesVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMDroppedFrames * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMDroppedFrames * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMDroppedFrames * This);        HRESULT ( STDMETHODCALLTYPE *GetNumDropped )(            IAMDroppedFrames * This,            /* [out] */ long *plDropped);        HRESULT ( STDMETHODCALLTYPE *GetNumNotDropped )(            IAMDroppedFrames * This,            /* [out] */ long *plNotDropped);        HRESULT ( STDMETHODCALLTYPE *GetDroppedInfo )(            IAMDroppedFrames * This,            /* [in] */ long lSize,            /* [out] */ long *plArray,            /* [out] */ long *plNumCopied);        HRESULT ( STDMETHODCALLTYPE *GetAverageFrameSize )(            IAMDroppedFrames * This,            /* [out] */ long *plAverageSize);        END_INTERFACE    } IAMDroppedFramesVtbl;    interface IAMDroppedFrames    {        CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMDroppedFrames_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMDroppedFrames_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMDroppedFrames_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMDroppedFrames_GetNumDropped(This,plDropped)	\    (This)->lpVtbl -> GetNumDropped(This,plDropped)#define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped)	\    (This)->lpVtbl -> GetNumNotDropped(This,plNotDropped)#define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied)	\    (This)->lpVtbl -> GetDroppedInfo(This,lSize,plArray,plNumCopied)#define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize)	\    (This)->lpVtbl -> GetAverageFrameSize(This,plAverageSize)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumDropped_Proxy(    IAMDroppedFrames * This,    /* [out] */ long *plDropped);void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumNotDropped_Proxy(    IAMDroppedFrames * This,    /* [out] */ long *plNotDropped);void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetDroppedInfo_Proxy(    IAMDroppedFrames * This,    /* [in] */ long lSize,    /* [out] */ long *plArray,    /* [out] */ long *plNumCopied);void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetAverageFrameSize_Proxy(    IAMDroppedFrames * This,    /* [out] */ long *plAverageSize);void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMDroppedFrames_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0166 *//* [local] */#define AMF_AUTOMATICGAIN -1.0extern RPC_IF_HANDLE __MIDL_itf_strmif_0166_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0166_v0_0_s_ifspec;#ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__#define __IAMAudioInputMixer_INTERFACE_DEFINED__/* interface IAMAudioInputMixer *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMAudioInputMixer;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("54C39221-8380-11d0-B3F0-00AA003761C5")    IAMAudioInputMixer : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE put_Enable(            /* [in] */ BOOL fEnable) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Enable(            /* [out] */ BOOL *pfEnable) = 0;        virtual HRESULT STDMETHODCALLTYPE put_Mono(            /* [in] */ BOOL fMono) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Mono(            /* [out] */ BOOL *pfMono) = 0;        virtual HRESULT STDMETHODCALLTYPE put_MixLevel(            /* [in] */ double Level) = 0;        virtual HRESULT STDMETHODCALLTYPE get_MixLevel(            /* [out] */ double *pLevel) = 0;        virtual HRESULT STDMETHODCALLTYPE put_Pan(            /* [in] */ double Pan) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Pan(            /* [out] */ double *pPan) = 0;        virtual HRESULT STDMETHODCALLTYPE put_Loudness(            /* [in] */ BOOL fLoudness) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Loudness(            /* [out] */ BOOL *pfLoudness) = 0;        virtual HRESULT STDMETHODCALLTYPE put_Treble(            /* [in] */ double Treble) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Treble(            /* [out] */ double *pTreble) = 0;        virtual HRESULT STDMETHODCALLTYPE get_TrebleRange(            /* [out] */ double *pRange) = 0;        virtual HRESULT STDMETHODCALLTYPE put_Bass(            /* [in] */ double Bass) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Bass(            /* [out] */ double *pBass) = 0;        virtual HRESULT STDMETHODCALLTYPE get_BassRange(            /* [out] */ double *pRange) = 0;    };#else 	/* C style interface */    typedef struct IAMAudioInputMixerVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMAudioInputMixer * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMAudioInputMixer * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMAudioInputMixer * This);        HRESULT ( STDMETHODCALLTYPE *put_Enable )(            IAMAudioInputMixer * This,            /* [in] */ BOOL fEnable);        HRESULT ( STDMETHODCALLTYPE *get_Enable )(            IAMAudioInputMixer * This,            /* [out] */ BOOL *pfEnable);        HRESULT ( STDMETHODCALLTYPE *put_Mono )(            IAMAudioInputMixer * This,            /* [in] */ BOOL fMono);        HRESULT ( STDMETHODCALLTYPE *get_Mono )(            IAMAudioInputMixer * This,            /* [out] */ BOOL *pfMono);        HRESULT ( STDMETHODCALLTYPE *put_MixLevel )(            IAMAudioInputMixer * This,            /* [in] */ double Level);        HRESULT ( STDMETHODCALLTYPE *get_MixLevel )(            IAMAudioInputMixer * This,            /* [out] */ double *pLevel);        HRESULT ( STDMETHODCALLTYPE *put_Pan )(            IAMAudioInputMixer * This,            /* [in] */ double Pan);        HRESULT ( STDMETHODCALLTYPE *get_Pan )(            IAMAudioInputMixer * This,            /* [out] */ double *pPan);        HRESULT ( STDMETHODCALLTYPE *put_Loudness )(            IAMAudioInputMixer * This,            /* [in] */ BOOL fLoudness);        HRESULT ( STDMETHODCALLTYPE *get_Loudness )(            IAMAudioInputMixer * This,            /* [out] */ BOOL *pfLoudness);        HRESULT ( STDMETHODCALLTYPE *put_Treble )(            IAMAudioInputMixer * This,            /* [in] */ double Treble);        HRESULT ( STDMETHODCALLTYPE *get_Treble )(            IAMAudioInputMixer * This,            /* [out] */ double *pTreble);        HRESULT ( STDMETHODCALLTYPE *get_TrebleRange )(            IAMAudioInputMixer * This,            /* [out] */ double *pRange);        HRESULT ( STDMETHODCALLTYPE *put_Bass )(            IAMAudioInputMixer * This,            /* [in] */ double Bass);        HRESULT ( STDMETHODCALLTYPE *get_Bass )(            IAMAudioInputMixer * This,            /* [out] */ double *pBass);        HRESULT ( STDMETHODCALLTYPE *get_BassRange )(            IAMAudioInputMixer * This,            /* [out] */ double *pRange);        END_INTERFACE    } IAMAudioInputMixerVtbl;    interface IAMAudioInputMixer    {        CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMAudioInputMixer_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMAudioInputMixer_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMAudioInputMixer_put_Enable(This,fEnable)	\    (This)->lpVtbl -> put_Enable(This,fEnable)#define IAMAudioInputMixer_get_Enable(This,pfEnable)	\    (This)->lpVtbl -> get_Enable(This,pfEnable)#define IAMAudioInputMixer_put_Mono(This,fMono)	\    (This)->lpVtbl -> put_Mono(This,fMono)#define IAMAudioInputMixer_get_Mono(This,pfMono)	\    (This)->lpVtbl -> get_Mono(This,pfMono)#define IAMAudioInputMixer_put_MixLevel(This,Level)	\    (This)->lpVtbl -> put_MixLevel(This,Level)#define IAMAudioInputMixer_get_MixLevel(This,pLevel)	\    (This)->lpVtbl -> get_MixLevel(This,pLevel)#define IAMAudioInputMixer_put_Pan(This,Pan)	\    (This)->lpVtbl -> put_Pan(This,Pan)#define IAMAudioInputMixer_get_Pan(This,pPan)	\    (This)->lpVtbl -> get_Pan(This,pPan)#define IAMAudioInputMixer_put_Loudness(This,fLoudness)	\    (This)->lpVtbl -> put_Loudness(This,fLoudness)#define IAMAudioInputMixer_get_Loudness(This,pfLoudness)	\    (This)->lpVtbl -> get_Loudness(This,pfLoudness)#define IAMAudioInputMixer_put_Treble(This,Treble)	\    (This)->lpVtbl -> put_Treble(This,Treble)#define IAMAudioInputMixer_get_Treble(This,pTreble)	\    (This)->lpVtbl -> get_Treble(This,pTreble)#define IAMAudioInputMixer_get_TrebleRange(This,pRange)	\    (This)->lpVtbl -> get_TrebleRange(This,pRange)#define IAMAudioInputMixer_put_Bass(This,Bass)	\    (This)->lpVtbl -> put_Bass(This,Bass)#define IAMAudioInputMixer_get_Bass(This,pBass)	\    (This)->lpVtbl -> get_Bass(This,pBass)#define IAMAudioInputMixer_get_BassRange(This,pRange)	\    (This)->lpVtbl -> get_BassRange(This,pRange)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Enable_Proxy(    IAMAudioInputMixer * This,    /* [in] */ BOOL fEnable);void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Enable_Proxy(    IAMAudioInputMixer * This,    /* [out] */ BOOL *pfEnable);void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Mono_Proxy(    IAMAudioInputMixer * This,    /* [in] */ BOOL fMono);void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Mono_Proxy(    IAMAudioInputMixer * This,    /* [out] */ BOOL *pfMono);void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_MixLevel_Proxy(    IAMAudioInputMixer * This,    /* [in] */ double Level);void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_MixLevel_Proxy(    IAMAudioInputMixer * This,    /* [out] */ double *pLevel);void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Pan_Proxy(    IAMAudioInputMixer * This,    /* [in] */ double Pan);void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Pan_Proxy(    IAMAudioInputMixer * This,    /* [out] */ double *pPan);void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Loudness_Proxy(    IAMAudioInputMixer * This,    /* [in] */ BOOL fLoudness);void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Loudness_Proxy(    IAMAudioInputMixer * This,    /* [out] */ BOOL *pfLoudness);void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Treble_Proxy(    IAMAudioInputMixer * This,    /* [in] */ double Treble);void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Treble_Proxy(    IAMAudioInputMixer * This,    /* [out] */ double *pTreble);void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_TrebleRange_Proxy(    IAMAudioInputMixer * This,    /* [out] */ double *pRange);void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Bass_Proxy(    IAMAudioInputMixer * This,    /* [in] */ double Bass);void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Bass_Proxy(    IAMAudioInputMixer * This,    /* [out] */ double *pBass);void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_BassRange_Proxy(    IAMAudioInputMixer * This,    /* [out] */ double *pRange);void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMAudioInputMixer_INTERFACE_DEFINED__ */#ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__#define __IAMBufferNegotiation_INTERFACE_DEFINED__/* interface IAMBufferNegotiation *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMBufferNegotiation;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("56ED71A0-AF5F-11D0-B3F0-00AA003761C5")    IAMBufferNegotiation : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties(            /* [in] */ const ALLOCATOR_PROPERTIES *pprop) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties(            /* [out] */ ALLOCATOR_PROPERTIES *pprop) = 0;    };#else 	/* C style interface */    typedef struct IAMBufferNegotiationVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMBufferNegotiation * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMBufferNegotiation * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMBufferNegotiation * This);        HRESULT ( STDMETHODCALLTYPE *SuggestAllocatorProperties )(            IAMBufferNegotiation * This,            /* [in] */ const ALLOCATOR_PROPERTIES *pprop);        HRESULT ( STDMETHODCALLTYPE *GetAllocatorProperties )(            IAMBufferNegotiation * This,            /* [out] */ ALLOCATOR_PROPERTIES *pprop);        END_INTERFACE    } IAMBufferNegotiationVtbl;    interface IAMBufferNegotiation    {        CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMBufferNegotiation_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMBufferNegotiation_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop)	\    (This)->lpVtbl -> SuggestAllocatorProperties(This,pprop)#define IAMBufferNegotiation_GetAllocatorProperties(This,pprop)	\    (This)->lpVtbl -> GetAllocatorProperties(This,pprop)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_SuggestAllocatorProperties_Proxy(    IAMBufferNegotiation * This,    /* [in] */ const ALLOCATOR_PROPERTIES *pprop);void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_GetAllocatorProperties_Proxy(    IAMBufferNegotiation * This,    /* [out] */ ALLOCATOR_PROPERTIES *pprop);void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMBufferNegotiation_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0168 *//* [local] */typedefenum tagAnalogVideoStandard    {	AnalogVideo_None	= 0,	AnalogVideo_NTSC_M	= 0x1,	AnalogVideo_NTSC_M_J	= 0x2,	AnalogVideo_NTSC_433	= 0x4,	AnalogVideo_PAL_B	= 0x10,	AnalogVideo_PAL_D	= 0x20,	AnalogVideo_PAL_G	= 0x40,	AnalogVideo_PAL_H	= 0x80,	AnalogVideo_PAL_I	= 0x100,	AnalogVideo_PAL_M	= 0x200,	AnalogVideo_PAL_N	= 0x400,	AnalogVideo_PAL_60	= 0x800,	AnalogVideo_SECAM_B	= 0x1000,	AnalogVideo_SECAM_D	= 0x2000,	AnalogVideo_SECAM_G	= 0x4000,	AnalogVideo_SECAM_H	= 0x8000,	AnalogVideo_SECAM_K	= 0x10000,	AnalogVideo_SECAM_K1	= 0x20000,	AnalogVideo_SECAM_L	= 0x40000,	AnalogVideo_SECAM_L1	= 0x80000,	AnalogVideo_PAL_N_COMBO	= 0x100000    } 	AnalogVideoStandard;#define AnalogVideo_NTSC_Mask  0x00000007#define AnalogVideo_PAL_Mask   0x00100FF0#define AnalogVideo_SECAM_Mask 0x000FF000typedefenum tagTunerInputType    {	TunerInputCable	= 0,	TunerInputAntenna	= TunerInputCable + 1    } 	TunerInputType;typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0168_0001    {	VideoCopyProtectionMacrovisionBasic	= 0,	VideoCopyProtectionMacrovisionCBI	= VideoCopyProtectionMacrovisionBasic + 1    } 	VideoCopyProtectionType;typedefenum tagPhysicalConnectorType    {	PhysConn_Video_Tuner	= 1,	PhysConn_Video_Composite	= PhysConn_Video_Tuner + 1,	PhysConn_Video_SVideo	= PhysConn_Video_Composite + 1,	PhysConn_Video_RGB	= PhysConn_Video_SVideo + 1,	PhysConn_Video_YRYBY	= PhysConn_Video_RGB + 1,	PhysConn_Video_SerialDigital	= PhysConn_Video_YRYBY + 1,	PhysConn_Video_ParallelDigital	= PhysConn_Video_SerialDigital + 1,	PhysConn_Video_SCSI	= PhysConn_Video_ParallelDigital + 1,	PhysConn_Video_AUX	= PhysConn_Video_SCSI + 1,	PhysConn_Video_1394	= PhysConn_Video_AUX + 1,	PhysConn_Video_USB	= PhysConn_Video_1394 + 1,	PhysConn_Video_VideoDecoder	= PhysConn_Video_USB + 1,	PhysConn_Video_VideoEncoder	= PhysConn_Video_VideoDecoder + 1,	PhysConn_Video_SCART	= PhysConn_Video_VideoEncoder + 1,	PhysConn_Video_Black	= PhysConn_Video_SCART + 1,	PhysConn_Audio_Tuner	= 0x1000,	PhysConn_Audio_Line	= PhysConn_Audio_Tuner + 1,	PhysConn_Audio_Mic	= PhysConn_Audio_Line + 1,	PhysConn_Audio_AESDigital	= PhysConn_Audio_Mic + 1,	PhysConn_Audio_SPDIFDigital	= PhysConn_Audio_AESDigital + 1,	PhysConn_Audio_SCSI	= PhysConn_Audio_SPDIFDigital + 1,	PhysConn_Audio_AUX	= PhysConn_Audio_SCSI + 1,	PhysConn_Audio_1394	= PhysConn_Audio_AUX + 1,	PhysConn_Audio_USB	= PhysConn_Audio_1394 + 1,	PhysConn_Audio_AudioDecoder	= PhysConn_Audio_USB + 1    } 	PhysicalConnectorType;extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_s_ifspec;#ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__#define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__/* interface IAMAnalogVideoDecoder *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMAnalogVideoDecoder;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("C6E13350-30AC-11d0-A18C-00A0C9118956")    IAMAnalogVideoDecoder : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(            /* [out] */ long *lAnalogVideoStandard) = 0;        virtual HRESULT STDMETHODCALLTYPE put_TVFormat(            /* [in] */ long lAnalogVideoStandard) = 0;        virtual HRESULT STDMETHODCALLTYPE get_TVFormat(            /* [out] */ long *plAnalogVideoStandard) = 0;        virtual HRESULT STDMETHODCALLTYPE get_HorizontalLocked(            /* [out] */ long *plLocked) = 0;        virtual HRESULT STDMETHODCALLTYPE put_VCRHorizontalLocking(            /* [in] */ long lVCRHorizontalLocking) = 0;        virtual HRESULT STDMETHODCALLTYPE get_VCRHorizontalLocking(            /* [out] */ long *plVCRHorizontalLocking) = 0;        virtual HRESULT STDMETHODCALLTYPE get_NumberOfLines(            /* [out] */ long *plNumberOfLines) = 0;        virtual HRESULT STDMETHODCALLTYPE put_OutputEnable(            /* [in] */ long lOutputEnable) = 0;        virtual HRESULT STDMETHODCALLTYPE get_OutputEnable(            /* [out] */ long *plOutputEnable) = 0;    };#else 	/* C style interface */    typedef struct IAMAnalogVideoDecoderVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMAnalogVideoDecoder * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMAnalogVideoDecoder * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMAnalogVideoDecoder * This);        HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(            IAMAnalogVideoDecoder * This,            /* [out] */ long *lAnalogVideoStandard);        HRESULT ( STDMETHODCALLTYPE *put_TVFormat )(            IAMAnalogVideoDecoder * This,            /* [in] */ long lAnalogVideoStandard);        HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(            IAMAnalogVideoDecoder * This,            /* [out] */ long *plAnalogVideoStandard);        HRESULT ( STDMETHODCALLTYPE *get_HorizontalLocked )(            IAMAnalogVideoDecoder * This,            /* [out] */ long *plLocked);        HRESULT ( STDMETHODCALLTYPE *put_VCRHorizontalLocking )(            IAMAnalogVideoDecoder * This,            /* [in] */ long lVCRHorizontalLocking);        HRESULT ( STDMETHODCALLTYPE *get_VCRHorizontalLocking )(            IAMAnalogVideoDecoder * This,            /* [out] */ long *plVCRHorizontalLocking);        HRESULT ( STDMETHODCALLTYPE *get_NumberOfLines )(            IAMAnalogVideoDecoder * This,            /* [out] */ long *plNumberOfLines);        HRESULT ( STDMETHODCALLTYPE *put_OutputEnable )(            IAMAnalogVideoDecoder * This,            /* [in] */ long lOutputEnable);        HRESULT ( STDMETHODCALLTYPE *get_OutputEnable )(            IAMAnalogVideoDecoder * This,            /* [out] */ long *plOutputEnable);        END_INTERFACE    } IAMAnalogVideoDecoderVtbl;    interface IAMAnalogVideoDecoder    {        CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMAnalogVideoDecoder_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMAnalogVideoDecoder_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard)	\    (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)#define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard)	\    (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)#define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard)	\    (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)#define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked)	\    (This)->lpVtbl -> get_HorizontalLocked(This,plLocked)#define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking)	\    (This)->lpVtbl -> put_VCRHorizontalLocking(This,lVCRHorizontalLocking)#define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking)	\    (This)->lpVtbl -> get_VCRHorizontalLocking(This,plVCRHorizontalLocking)#define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines)	\    (This)->lpVtbl -> get_NumberOfLines(This,plNumberOfLines)#define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable)	\    (This)->lpVtbl -> put_OutputEnable(This,lOutputEnable)#define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable)	\    (This)->lpVtbl -> get_OutputEnable(This,plOutputEnable)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy(    IAMAnalogVideoDecoder * This,    /* [out] */ long *lAnalogVideoStandard);void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_TVFormat_Proxy(    IAMAnalogVideoDecoder * This,    /* [in] */ long lAnalogVideoStandard);void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_TVFormat_Proxy(    IAMAnalogVideoDecoder * This,    /* [out] */ long *plAnalogVideoStandard);void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy(    IAMAnalogVideoDecoder * This,    /* [out] */ long *plLocked);void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy(    IAMAnalogVideoDecoder * This,    /* [in] */ long lVCRHorizontalLocking);void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy(    IAMAnalogVideoDecoder * This,    /* [out] */ long *plVCRHorizontalLocking);void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_NumberOfLines_Proxy(    IAMAnalogVideoDecoder * This,    /* [out] */ long *plNumberOfLines);void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_OutputEnable_Proxy(    IAMAnalogVideoDecoder * This,    /* [in] */ long lOutputEnable);void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_OutputEnable_Proxy(    IAMAnalogVideoDecoder * This,    /* [out] */ long *plOutputEnable);void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0169 *//* [local] */typedefenum tagVideoProcAmpProperty    {	VideoProcAmp_Brightness	= 0,	VideoProcAmp_Contrast	= VideoProcAmp_Brightness + 1,	VideoProcAmp_Hue	= VideoProcAmp_Contrast + 1,	VideoProcAmp_Saturation	= VideoProcAmp_Hue + 1,	VideoProcAmp_Sharpness	= VideoProcAmp_Saturation + 1,	VideoProcAmp_Gamma	= VideoProcAmp_Sharpness + 1,	VideoProcAmp_ColorEnable	= VideoProcAmp_Gamma + 1,	VideoProcAmp_WhiteBalance	= VideoProcAmp_ColorEnable + 1,	VideoProcAmp_BacklightCompensation	= VideoProcAmp_WhiteBalance + 1,	VideoProcAmp_Gain	= VideoProcAmp_BacklightCompensation + 1    } 	VideoProcAmpProperty;typedefenum tagVideoProcAmpFlags    {	VideoProcAmp_Flags_Auto	= 0x1,	VideoProcAmp_Flags_Manual	= 0x2    } 	VideoProcAmpFlags;extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_s_ifspec;#ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__#define __IAMVideoProcAmp_INTERFACE_DEFINED__/* interface IAMVideoProcAmp *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMVideoProcAmp;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("C6E13360-30AC-11d0-A18C-00A0C9118956")    IAMVideoProcAmp : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetRange(            /* [in] */ long Property,            /* [out] */ long *pMin,            /* [out] */ long *pMax,            /* [out] */ long *pSteppingDelta,            /* [out] */ long *pDefault,            /* [out] */ long *pCapsFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE Set(            /* [in] */ long Property,            /* [in] */ long lValue,            /* [in] */ long Flags) = 0;        virtual HRESULT STDMETHODCALLTYPE Get(            /* [in] */ long Property,            /* [out] */ long *lValue,            /* [out] */ long *Flags) = 0;    };#else 	/* C style interface */    typedef struct IAMVideoProcAmpVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMVideoProcAmp * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMVideoProcAmp * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMVideoProcAmp * This);        HRESULT ( STDMETHODCALLTYPE *GetRange )(            IAMVideoProcAmp * This,            /* [in] */ long Property,            /* [out] */ long *pMin,            /* [out] */ long *pMax,            /* [out] */ long *pSteppingDelta,            /* [out] */ long *pDefault,            /* [out] */ long *pCapsFlags);        HRESULT ( STDMETHODCALLTYPE *Set )(            IAMVideoProcAmp * This,            /* [in] */ long Property,            /* [in] */ long lValue,            /* [in] */ long Flags);        HRESULT ( STDMETHODCALLTYPE *Get )(            IAMVideoProcAmp * This,            /* [in] */ long Property,            /* [out] */ long *lValue,            /* [out] */ long *Flags);        END_INTERFACE    } IAMVideoProcAmpVtbl;    interface IAMVideoProcAmp    {        CONST_VTBL struct IAMVideoProcAmpVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMVideoProcAmp_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMVideoProcAmp_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)	\    (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)#define IAMVideoProcAmp_Set(This,Property,lValue,Flags)	\    (This)->lpVtbl -> Set(This,Property,lValue,Flags)#define IAMVideoProcAmp_Get(This,Property,lValue,Flags)	\    (This)->lpVtbl -> Get(This,Property,lValue,Flags)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy(    IAMVideoProcAmp * This,    /* [in] */ long Property,    /* [out] */ long *pMin,    /* [out] */ long *pMax,    /* [out] */ long *pSteppingDelta,    /* [out] */ long *pDefault,    /* [out] */ long *pCapsFlags);void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy(    IAMVideoProcAmp * This,    /* [in] */ long Property,    /* [in] */ long lValue,    /* [in] */ long Flags);void __RPC_STUB IAMVideoProcAmp_Set_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy(    IAMVideoProcAmp * This,    /* [in] */ long Property,    /* [out] */ long *lValue,    /* [out] */ long *Flags);void __RPC_STUB IAMVideoProcAmp_Get_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMVideoProcAmp_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0170 *//* [local] */typedefenum tagCameraControlProperty    {	CameraControl_Pan	= 0,	CameraControl_Tilt	= CameraControl_Pan + 1,	CameraControl_Roll	= CameraControl_Tilt + 1,	CameraControl_Zoom	= CameraControl_Roll + 1,	CameraControl_Exposure	= CameraControl_Zoom + 1,	CameraControl_Iris	= CameraControl_Exposure + 1,	CameraControl_Focus	= CameraControl_Iris + 1    } 	CameraControlProperty;typedefenum tagCameraControlFlags    {	CameraControl_Flags_Auto	= 0x1,	CameraControl_Flags_Manual	= 0x2    } 	CameraControlFlags;extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_s_ifspec;#ifndef __IAMCameraControl_INTERFACE_DEFINED__#define __IAMCameraControl_INTERFACE_DEFINED__/* interface IAMCameraControl *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMCameraControl;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("C6E13370-30AC-11d0-A18C-00A0C9118956")    IAMCameraControl : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetRange(            /* [in] */ long Property,            /* [out] */ long *pMin,            /* [out] */ long *pMax,            /* [out] */ long *pSteppingDelta,            /* [out] */ long *pDefault,            /* [out] */ long *pCapsFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE Set(            /* [in] */ long Property,            /* [in] */ long lValue,            /* [in] */ long Flags) = 0;        virtual HRESULT STDMETHODCALLTYPE Get(            /* [in] */ long Property,            /* [out] */ long *lValue,            /* [out] */ long *Flags) = 0;    };#else 	/* C style interface */    typedef struct IAMCameraControlVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMCameraControl * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMCameraControl * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMCameraControl * This);        HRESULT ( STDMETHODCALLTYPE *GetRange )(            IAMCameraControl * This,            /* [in] */ long Property,            /* [out] */ long *pMin,            /* [out] */ long *pMax,            /* [out] */ long *pSteppingDelta,            /* [out] */ long *pDefault,            /* [out] */ long *pCapsFlags);        HRESULT ( STDMETHODCALLTYPE *Set )(            IAMCameraControl * This,            /* [in] */ long Property,            /* [in] */ long lValue,            /* [in] */ long Flags);        HRESULT ( STDMETHODCALLTYPE *Get )(            IAMCameraControl * This,            /* [in] */ long Property,            /* [out] */ long *lValue,            /* [out] */ long *Flags);        END_INTERFACE    } IAMCameraControlVtbl;    interface IAMCameraControl    {        CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMCameraControl_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMCameraControl_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMCameraControl_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)	\    (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)#define IAMCameraControl_Set(This,Property,lValue,Flags)	\    (This)->lpVtbl -> Set(This,Property,lValue,Flags)#define IAMCameraControl_Get(This,Property,lValue,Flags)	\    (This)->lpVtbl -> Get(This,Property,lValue,Flags)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMCameraControl_GetRange_Proxy(    IAMCameraControl * This,    /* [in] */ long Property,    /* [out] */ long *pMin,    /* [out] */ long *pMax,    /* [out] */ long *pSteppingDelta,    /* [out] */ long *pDefault,    /* [out] */ long *pCapsFlags);void __RPC_STUB IAMCameraControl_GetRange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMCameraControl_Set_Proxy(    IAMCameraControl * This,    /* [in] */ long Property,    /* [in] */ long lValue,    /* [in] */ long Flags);void __RPC_STUB IAMCameraControl_Set_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMCameraControl_Get_Proxy(    IAMCameraControl * This,    /* [in] */ long Property,    /* [out] */ long *lValue,    /* [out] */ long *Flags);void __RPC_STUB IAMCameraControl_Get_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMCameraControl_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0171 *//* [local] */typedefenum tagVideoControlFlags    {	VideoControlFlag_FlipHorizontal	= 0x1,	VideoControlFlag_FlipVertical	= 0x2,	VideoControlFlag_ExternalTriggerEnable	= 0x4,	VideoControlFlag_Trigger	= 0x8    } 	VideoControlFlags;extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec;#ifndef __IAMVideoControl_INTERFACE_DEFINED__#define __IAMVideoControl_INTERFACE_DEFINED__/* interface IAMVideoControl *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMVideoControl;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956")    IAMVideoControl : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetCaps(            /* [in] */ IPin *pPin,            /* [out] */ long *pCapsFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE SetMode(            /* [in] */ IPin *pPin,            /* [in] */ long Mode) = 0;        virtual HRESULT STDMETHODCALLTYPE GetMode(            /* [in] */ IPin *pPin,            /* [out] */ long *Mode) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate(            /* [in] */ IPin *pPin,            /* [out] */ LONGLONG *ActualFrameRate) = 0;        virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate(            /* [in] */ IPin *pPin,            /* [in] */ long iIndex,            /* [in] */ SIZE Dimensions,            /* [out] */ LONGLONG *MaxAvailableFrameRate) = 0;        virtual HRESULT STDMETHODCALLTYPE GetFrameRateList(            /* [in] */ IPin *pPin,            /* [in] */ long iIndex,            /* [in] */ SIZE Dimensions,            /* [out] */ long *ListSize,            /* [out] */ LONGLONG **FrameRates) = 0;    };#else 	/* C style interface */    typedef struct IAMVideoControlVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMVideoControl * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMVideoControl * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMVideoControl * This);        HRESULT ( STDMETHODCALLTYPE *GetCaps )(            IAMVideoControl * This,            /* [in] */ IPin *pPin,            /* [out] */ long *pCapsFlags);        HRESULT ( STDMETHODCALLTYPE *SetMode )(            IAMVideoControl * This,            /* [in] */ IPin *pPin,            /* [in] */ long Mode);        HRESULT ( STDMETHODCALLTYPE *GetMode )(            IAMVideoControl * This,            /* [in] */ IPin *pPin,            /* [out] */ long *Mode);        HRESULT ( STDMETHODCALLTYPE *GetCurrentActualFrameRate )(            IAMVideoControl * This,            /* [in] */ IPin *pPin,            /* [out] */ LONGLONG *ActualFrameRate);        HRESULT ( STDMETHODCALLTYPE *GetMaxAvailableFrameRate )(            IAMVideoControl * This,            /* [in] */ IPin *pPin,            /* [in] */ long iIndex,            /* [in] */ SIZE Dimensions,            /* [out] */ LONGLONG *MaxAvailableFrameRate);        HRESULT ( STDMETHODCALLTYPE *GetFrameRateList )(            IAMVideoControl * This,            /* [in] */ IPin *pPin,            /* [in] */ long iIndex,            /* [in] */ SIZE Dimensions,            /* [out] */ long *ListSize,            /* [out] */ LONGLONG **FrameRates);        END_INTERFACE    } IAMVideoControlVtbl;    interface IAMVideoControl    {        CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMVideoControl_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMVideoControl_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMVideoControl_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMVideoControl_GetCaps(This,pPin,pCapsFlags)	\    (This)->lpVtbl -> GetCaps(This,pPin,pCapsFlags)#define IAMVideoControl_SetMode(This,pPin,Mode)	\    (This)->lpVtbl -> SetMode(This,pPin,Mode)#define IAMVideoControl_GetMode(This,pPin,Mode)	\    (This)->lpVtbl -> GetMode(This,pPin,Mode)#define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate)	\    (This)->lpVtbl -> GetCurrentActualFrameRate(This,pPin,ActualFrameRate)#define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)	\    (This)->lpVtbl -> GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)#define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)	\    (This)->lpVtbl -> GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCaps_Proxy(    IAMVideoControl * This,    /* [in] */ IPin *pPin,    /* [out] */ long *pCapsFlags);void __RPC_STUB IAMVideoControl_GetCaps_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoControl_SetMode_Proxy(    IAMVideoControl * This,    /* [in] */ IPin *pPin,    /* [in] */ long Mode);void __RPC_STUB IAMVideoControl_SetMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMode_Proxy(    IAMVideoControl * This,    /* [in] */ IPin *pPin,    /* [out] */ long *Mode);void __RPC_STUB IAMVideoControl_GetMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCurrentActualFrameRate_Proxy(    IAMVideoControl * This,    /* [in] */ IPin *pPin,    /* [out] */ LONGLONG *ActualFrameRate);void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMaxAvailableFrameRate_Proxy(    IAMVideoControl * This,    /* [in] */ IPin *pPin,    /* [in] */ long iIndex,    /* [in] */ SIZE Dimensions,    /* [out] */ LONGLONG *MaxAvailableFrameRate);void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoControl_GetFrameRateList_Proxy(    IAMVideoControl * This,    /* [in] */ IPin *pPin,    /* [in] */ long iIndex,    /* [in] */ SIZE Dimensions,    /* [out] */ long *ListSize,    /* [out] */ LONGLONG **FrameRates);void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMVideoControl_INTERFACE_DEFINED__ */#ifndef __IAMCrossbar_INTERFACE_DEFINED__#define __IAMCrossbar_INTERFACE_DEFINED__/* interface IAMCrossbar *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMCrossbar;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("C6E13380-30AC-11d0-A18C-00A0C9118956")    IAMCrossbar : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE get_PinCounts(            /* [out] */ long *OutputPinCount,            /* [out] */ long *InputPinCount) = 0;        virtual HRESULT STDMETHODCALLTYPE CanRoute(            /* [in] */ long OutputPinIndex,            /* [in] */ long InputPinIndex) = 0;        virtual HRESULT STDMETHODCALLTYPE Route(            /* [in] */ long OutputPinIndex,            /* [in] */ long InputPinIndex) = 0;        virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo(            /* [in] */ long OutputPinIndex,            /* [out] */ long *InputPinIndex) = 0;        virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo(            /* [in] */ BOOL IsInputPin,            /* [in] */ long PinIndex,            /* [out] */ long *PinIndexRelated,            /* [out] */ long *PhysicalType) = 0;    };#else 	/* C style interface */    typedef struct IAMCrossbarVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMCrossbar * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMCrossbar * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMCrossbar * This);        HRESULT ( STDMETHODCALLTYPE *get_PinCounts )(            IAMCrossbar * This,            /* [out] */ long *OutputPinCount,            /* [out] */ long *InputPinCount);        HRESULT ( STDMETHODCALLTYPE *CanRoute )(            IAMCrossbar * This,            /* [in] */ long OutputPinIndex,            /* [in] */ long InputPinIndex);        HRESULT ( STDMETHODCALLTYPE *Route )(            IAMCrossbar * This,            /* [in] */ long OutputPinIndex,            /* [in] */ long InputPinIndex);        HRESULT ( STDMETHODCALLTYPE *get_IsRoutedTo )(            IAMCrossbar * This,            /* [in] */ long OutputPinIndex,            /* [out] */ long *InputPinIndex);        HRESULT ( STDMETHODCALLTYPE *get_CrossbarPinInfo )(            IAMCrossbar * This,            /* [in] */ BOOL IsInputPin,            /* [in] */ long PinIndex,            /* [out] */ long *PinIndexRelated,            /* [out] */ long *PhysicalType);        END_INTERFACE    } IAMCrossbarVtbl;    interface IAMCrossbar    {        CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMCrossbar_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMCrossbar_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMCrossbar_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount)	\    (This)->lpVtbl -> get_PinCounts(This,OutputPinCount,InputPinCount)#define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex)	\    (This)->lpVtbl -> CanRoute(This,OutputPinIndex,InputPinIndex)#define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex)	\    (This)->lpVtbl -> Route(This,OutputPinIndex,InputPinIndex)#define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)	\    (This)->lpVtbl -> get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)#define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)	\    (This)->lpVtbl -> get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMCrossbar_get_PinCounts_Proxy(    IAMCrossbar * This,    /* [out] */ long *OutputPinCount,    /* [out] */ long *InputPinCount);void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMCrossbar_CanRoute_Proxy(    IAMCrossbar * This,    /* [in] */ long OutputPinIndex,    /* [in] */ long InputPinIndex);void __RPC_STUB IAMCrossbar_CanRoute_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMCrossbar_Route_Proxy(    IAMCrossbar * This,    /* [in] */ long OutputPinIndex,    /* [in] */ long InputPinIndex);void __RPC_STUB IAMCrossbar_Route_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMCrossbar_get_IsRoutedTo_Proxy(    IAMCrossbar * This,    /* [in] */ long OutputPinIndex,    /* [out] */ long *InputPinIndex);void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMCrossbar_get_CrossbarPinInfo_Proxy(    IAMCrossbar * This,    /* [in] */ BOOL IsInputPin,    /* [in] */ long PinIndex,    /* [out] */ long *PinIndexRelated,    /* [out] */ long *PhysicalType);void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMCrossbar_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0173 *//* [local] */typedefenum tagAMTunerSubChannel    {	AMTUNER_SUBCHAN_NO_TUNE	= -2,	AMTUNER_SUBCHAN_DEFAULT	= -1    } 	AMTunerSubChannel;typedefenum tagAMTunerSignalStrength    {	AMTUNER_HASNOSIGNALSTRENGTH	= -1,	AMTUNER_NOSIGNAL	= 0,	AMTUNER_SIGNALPRESENT	= 1    } 	AMTunerSignalStrength;typedefenum tagAMTunerModeType    {	AMTUNER_MODE_DEFAULT	= 0,	AMTUNER_MODE_TV	= 0x1,	AMTUNER_MODE_FM_RADIO	= 0x2,	AMTUNER_MODE_AM_RADIO	= 0x4,	AMTUNER_MODE_DSS	= 0x8    } 	AMTunerModeType;typedefenum tagAMTunerEventType    {	AMTUNER_EVENT_CHANGED	= 0x1    } 	AMTunerEventType;extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_s_ifspec;#ifndef __IAMTuner_INTERFACE_DEFINED__#define __IAMTuner_INTERFACE_DEFINED__/* interface IAMTuner *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMTuner;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("211A8761-03AC-11d1-8D13-00AA00BD8339")    IAMTuner : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE put_Channel(            /* [in] */ long lChannel,            /* [in] */ long lVideoSubChannel,            /* [in] */ long lAudioSubChannel) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Channel(            /* [out] */ long *plChannel,            /* [out] */ long *plVideoSubChannel,            /* [out] */ long *plAudioSubChannel) = 0;        virtual HRESULT STDMETHODCALLTYPE ChannelMinMax(            /* [out] */ long *lChannelMin,            /* [out] */ long *lChannelMax) = 0;        virtual HRESULT STDMETHODCALLTYPE put_CountryCode(            /* [in] */ long lCountryCode) = 0;        virtual HRESULT STDMETHODCALLTYPE get_CountryCode(            /* [out] */ long *plCountryCode) = 0;        virtual HRESULT STDMETHODCALLTYPE put_TuningSpace(            /* [in] */ long lTuningSpace) = 0;        virtual HRESULT STDMETHODCALLTYPE get_TuningSpace(            /* [out] */ long *plTuningSpace) = 0;        virtual /* [local] */ HRESULT STDMETHODCALLTYPE Logon(            /* [in] */ HANDLE hCurrentUser) = 0;        virtual HRESULT STDMETHODCALLTYPE Logout( void) = 0;        virtual HRESULT STDMETHODCALLTYPE SignalPresent(            /* [out] */ long *plSignalStrength) = 0;        virtual HRESULT STDMETHODCALLTYPE put_Mode(            /* [in] */ AMTunerModeType lMode) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Mode(            /* [out] */ AMTunerModeType *plMode) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAvailableModes(            /* [out] */ long *plModes) = 0;        virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack(            /* [in] */ IAMTunerNotification *pNotify,            /* [in] */ long lEvents) = 0;        virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack(            /* [in] */ IAMTunerNotification *pNotify) = 0;    };#else 	/* C style interface */    typedef struct IAMTunerVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMTuner * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMTuner * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMTuner * This);        HRESULT ( STDMETHODCALLTYPE *put_Channel )(            IAMTuner * This,            /* [in] */ long lChannel,            /* [in] */ long lVideoSubChannel,            /* [in] */ long lAudioSubChannel);        HRESULT ( STDMETHODCALLTYPE *get_Channel )(            IAMTuner * This,            /* [out] */ long *plChannel,            /* [out] */ long *plVideoSubChannel,            /* [out] */ long *plAudioSubChannel);        HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(            IAMTuner * This,            /* [out] */ long *lChannelMin,            /* [out] */ long *lChannelMax);        HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(            IAMTuner * This,            /* [in] */ long lCountryCode);        HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(            IAMTuner * This,            /* [out] */ long *plCountryCode);        HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(            IAMTuner * This,            /* [in] */ long lTuningSpace);        HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(            IAMTuner * This,            /* [out] */ long *plTuningSpace);        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(            IAMTuner * This,            /* [in] */ HANDLE hCurrentUser);        HRESULT ( STDMETHODCALLTYPE *Logout )(            IAMTuner * This);        HRESULT ( STDMETHODCALLTYPE *SignalPresent )(            IAMTuner * This,            /* [out] */ long *plSignalStrength);        HRESULT ( STDMETHODCALLTYPE *put_Mode )(            IAMTuner * This,            /* [in] */ AMTunerModeType lMode);        HRESULT ( STDMETHODCALLTYPE *get_Mode )(            IAMTuner * This,            /* [out] */ AMTunerModeType *plMode);        HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(            IAMTuner * This,            /* [out] */ long *plModes);        HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(            IAMTuner * This,            /* [in] */ IAMTunerNotification *pNotify,            /* [in] */ long lEvents);        HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(            IAMTuner * This,            /* [in] */ IAMTunerNotification *pNotify);        END_INTERFACE    } IAMTunerVtbl;    interface IAMTuner    {        CONST_VTBL struct IAMTunerVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMTuner_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMTuner_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMTuner_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)	\    (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)#define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)	\    (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)#define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax)	\    (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)#define IAMTuner_put_CountryCode(This,lCountryCode)	\    (This)->lpVtbl -> put_CountryCode(This,lCountryCode)#define IAMTuner_get_CountryCode(This,plCountryCode)	\    (This)->lpVtbl -> get_CountryCode(This,plCountryCode)#define IAMTuner_put_TuningSpace(This,lTuningSpace)	\    (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)#define IAMTuner_get_TuningSpace(This,plTuningSpace)	\    (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)#define IAMTuner_Logon(This,hCurrentUser)	\    (This)->lpVtbl -> Logon(This,hCurrentUser)#define IAMTuner_Logout(This)	\    (This)->lpVtbl -> Logout(This)#define IAMTuner_SignalPresent(This,plSignalStrength)	\    (This)->lpVtbl -> SignalPresent(This,plSignalStrength)#define IAMTuner_put_Mode(This,lMode)	\    (This)->lpVtbl -> put_Mode(This,lMode)#define IAMTuner_get_Mode(This,plMode)	\    (This)->lpVtbl -> get_Mode(This,plMode)#define IAMTuner_GetAvailableModes(This,plModes)	\    (This)->lpVtbl -> GetAvailableModes(This,plModes)#define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents)	\    (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)#define IAMTuner_UnRegisterNotificationCallBack(This,pNotify)	\    (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMTuner_put_Channel_Proxy(    IAMTuner * This,    /* [in] */ long lChannel,    /* [in] */ long lVideoSubChannel,    /* [in] */ long lAudioSubChannel);void __RPC_STUB IAMTuner_put_Channel_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_get_Channel_Proxy(    IAMTuner * This,    /* [out] */ long *plChannel,    /* [out] */ long *plVideoSubChannel,    /* [out] */ long *plAudioSubChannel);void __RPC_STUB IAMTuner_get_Channel_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_ChannelMinMax_Proxy(    IAMTuner * This,    /* [out] */ long *lChannelMin,    /* [out] */ long *lChannelMax);void __RPC_STUB IAMTuner_ChannelMinMax_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_put_CountryCode_Proxy(    IAMTuner * This,    /* [in] */ long lCountryCode);void __RPC_STUB IAMTuner_put_CountryCode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_get_CountryCode_Proxy(    IAMTuner * This,    /* [out] */ long *plCountryCode);void __RPC_STUB IAMTuner_get_CountryCode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_put_TuningSpace_Proxy(    IAMTuner * This,    /* [in] */ long lTuningSpace);void __RPC_STUB IAMTuner_put_TuningSpace_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_get_TuningSpace_Proxy(    IAMTuner * This,    /* [out] */ long *plTuningSpace);void __RPC_STUB IAMTuner_get_TuningSpace_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);/* [local] */ HRESULT STDMETHODCALLTYPE IAMTuner_Logon_Proxy(    IAMTuner * This,    /* [in] */ HANDLE hCurrentUser);void __RPC_STUB IAMTuner_Logon_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_Logout_Proxy(    IAMTuner * This);void __RPC_STUB IAMTuner_Logout_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_SignalPresent_Proxy(    IAMTuner * This,    /* [out] */ long *plSignalStrength);void __RPC_STUB IAMTuner_SignalPresent_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_put_Mode_Proxy(    IAMTuner * This,    /* [in] */ AMTunerModeType lMode);void __RPC_STUB IAMTuner_put_Mode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_get_Mode_Proxy(    IAMTuner * This,    /* [out] */ AMTunerModeType *plMode);void __RPC_STUB IAMTuner_get_Mode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_GetAvailableModes_Proxy(    IAMTuner * This,    /* [out] */ long *plModes);void __RPC_STUB IAMTuner_GetAvailableModes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_RegisterNotificationCallBack_Proxy(    IAMTuner * This,    /* [in] */ IAMTunerNotification *pNotify,    /* [in] */ long lEvents);void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTuner_UnRegisterNotificationCallBack_Proxy(    IAMTuner * This,    /* [in] */ IAMTunerNotification *pNotify);void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMTuner_INTERFACE_DEFINED__ */#ifndef __IAMTunerNotification_INTERFACE_DEFINED__#define __IAMTunerNotification_INTERFACE_DEFINED__/* interface IAMTunerNotification *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMTunerNotification;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("211A8760-03AC-11d1-8D13-00AA00BD8339")    IAMTunerNotification : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE OnEvent(            /* [in] */ AMTunerEventType Event) = 0;    };#else 	/* C style interface */    typedef struct IAMTunerNotificationVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMTunerNotification * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMTunerNotification * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMTunerNotification * This);        HRESULT ( STDMETHODCALLTYPE *OnEvent )(            IAMTunerNotification * This,            /* [in] */ AMTunerEventType Event);        END_INTERFACE    } IAMTunerNotificationVtbl;    interface IAMTunerNotification    {        CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMTunerNotification_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMTunerNotification_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMTunerNotification_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMTunerNotification_OnEvent(This,Event)	\    (This)->lpVtbl -> OnEvent(This,Event)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMTunerNotification_OnEvent_Proxy(    IAMTunerNotification * This,    /* [in] */ AMTunerEventType Event);void __RPC_STUB IAMTunerNotification_OnEvent_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMTunerNotification_INTERFACE_DEFINED__ */#ifndef __IAMTVTuner_INTERFACE_DEFINED__#define __IAMTVTuner_INTERFACE_DEFINED__/* interface IAMTVTuner *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMTVTuner;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("211A8766-03AC-11d1-8D13-00AA00BD8339")    IAMTVTuner : public IAMTuner    {    public:        virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(            /* [out] */ long *lAnalogVideoStandard) = 0;        virtual HRESULT STDMETHODCALLTYPE get_TVFormat(            /* [out] */ long *plAnalogVideoStandard) = 0;        virtual HRESULT STDMETHODCALLTYPE AutoTune(            /* [in] */ long lChannel,            /* [out] */ long *plFoundSignal) = 0;        virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( void) = 0;        virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections(            /* [out] */ long *plNumInputConnections) = 0;        virtual HRESULT STDMETHODCALLTYPE put_InputType(            /* [in] */ long lIndex,            /* [in] */ TunerInputType InputType) = 0;        virtual HRESULT STDMETHODCALLTYPE get_InputType(            /* [in] */ long lIndex,            /* [out] */ TunerInputType *pInputType) = 0;        virtual HRESULT STDMETHODCALLTYPE put_ConnectInput(            /* [in] */ long lIndex) = 0;        virtual HRESULT STDMETHODCALLTYPE get_ConnectInput(            /* [out] */ long *plIndex) = 0;        virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency(            /* [out] */ long *lFreq) = 0;        virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency(            /* [out] */ long *lFreq) = 0;    };#else 	/* C style interface */    typedef struct IAMTVTunerVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMTVTuner * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMTVTuner * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMTVTuner * This);        HRESULT ( STDMETHODCALLTYPE *put_Channel )(            IAMTVTuner * This,            /* [in] */ long lChannel,            /* [in] */ long lVideoSubChannel,            /* [in] */ long lAudioSubChannel);        HRESULT ( STDMETHODCALLTYPE *get_Channel )(            IAMTVTuner * This,            /* [out] */ long *plChannel,            /* [out] */ long *plVideoSubChannel,            /* [out] */ long *plAudioSubChannel);        HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(            IAMTVTuner * This,            /* [out] */ long *lChannelMin,            /* [out] */ long *lChannelMax);        HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(            IAMTVTuner * This,            /* [in] */ long lCountryCode);        HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(            IAMTVTuner * This,            /* [out] */ long *plCountryCode);        HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(            IAMTVTuner * This,            /* [in] */ long lTuningSpace);        HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(            IAMTVTuner * This,            /* [out] */ long *plTuningSpace);        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(            IAMTVTuner * This,            /* [in] */ HANDLE hCurrentUser);        HRESULT ( STDMETHODCALLTYPE *Logout )(            IAMTVTuner * This);        HRESULT ( STDMETHODCALLTYPE *SignalPresent )(            IAMTVTuner * This,            /* [out] */ long *plSignalStrength);        HRESULT ( STDMETHODCALLTYPE *put_Mode )(            IAMTVTuner * This,            /* [in] */ AMTunerModeType lMode);        HRESULT ( STDMETHODCALLTYPE *get_Mode )(            IAMTVTuner * This,            /* [out] */ AMTunerModeType *plMode);        HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(            IAMTVTuner * This,            /* [out] */ long *plModes);        HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(            IAMTVTuner * This,            /* [in] */ IAMTunerNotification *pNotify,            /* [in] */ long lEvents);        HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(            IAMTVTuner * This,            /* [in] */ IAMTunerNotification *pNotify);        HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(            IAMTVTuner * This,            /* [out] */ long *lAnalogVideoStandard);        HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(            IAMTVTuner * This,            /* [out] */ long *plAnalogVideoStandard);        HRESULT ( STDMETHODCALLTYPE *AutoTune )(            IAMTVTuner * This,            /* [in] */ long lChannel,            /* [out] */ long *plFoundSignal);        HRESULT ( STDMETHODCALLTYPE *StoreAutoTune )(            IAMTVTuner * This);        HRESULT ( STDMETHODCALLTYPE *get_NumInputConnections )(            IAMTVTuner * This,            /* [out] */ long *plNumInputConnections);        HRESULT ( STDMETHODCALLTYPE *put_InputType )(            IAMTVTuner * This,            /* [in] */ long lIndex,            /* [in] */ TunerInputType InputType);        HRESULT ( STDMETHODCALLTYPE *get_InputType )(            IAMTVTuner * This,            /* [in] */ long lIndex,            /* [out] */ TunerInputType *pInputType);        HRESULT ( STDMETHODCALLTYPE *put_ConnectInput )(            IAMTVTuner * This,            /* [in] */ long lIndex);        HRESULT ( STDMETHODCALLTYPE *get_ConnectInput )(            IAMTVTuner * This,            /* [out] */ long *plIndex);        HRESULT ( STDMETHODCALLTYPE *get_VideoFrequency )(            IAMTVTuner * This,            /* [out] */ long *lFreq);        HRESULT ( STDMETHODCALLTYPE *get_AudioFrequency )(            IAMTVTuner * This,            /* [out] */ long *lFreq);        END_INTERFACE    } IAMTVTunerVtbl;    interface IAMTVTuner    {        CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMTVTuner_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMTVTuner_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMTVTuner_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)	\    (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)#define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)	\    (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)#define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax)	\    (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)#define IAMTVTuner_put_CountryCode(This,lCountryCode)	\    (This)->lpVtbl -> put_CountryCode(This,lCountryCode)#define IAMTVTuner_get_CountryCode(This,plCountryCode)	\    (This)->lpVtbl -> get_CountryCode(This,plCountryCode)#define IAMTVTuner_put_TuningSpace(This,lTuningSpace)	\    (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)#define IAMTVTuner_get_TuningSpace(This,plTuningSpace)	\    (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)#define IAMTVTuner_Logon(This,hCurrentUser)	\    (This)->lpVtbl -> Logon(This,hCurrentUser)#define IAMTVTuner_Logout(This)	\    (This)->lpVtbl -> Logout(This)#define IAMTVTuner_SignalPresent(This,plSignalStrength)	\    (This)->lpVtbl -> SignalPresent(This,plSignalStrength)#define IAMTVTuner_put_Mode(This,lMode)	\    (This)->lpVtbl -> put_Mode(This,lMode)#define IAMTVTuner_get_Mode(This,plMode)	\    (This)->lpVtbl -> get_Mode(This,plMode)#define IAMTVTuner_GetAvailableModes(This,plModes)	\    (This)->lpVtbl -> GetAvailableModes(This,plModes)#define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents)	\    (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)#define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify)	\    (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)#define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard)	\    (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)#define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard)	\    (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)#define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal)	\    (This)->lpVtbl -> AutoTune(This,lChannel,plFoundSignal)#define IAMTVTuner_StoreAutoTune(This)	\    (This)->lpVtbl -> StoreAutoTune(This)#define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections)	\    (This)->lpVtbl -> get_NumInputConnections(This,plNumInputConnections)#define IAMTVTuner_put_InputType(This,lIndex,InputType)	\    (This)->lpVtbl -> put_InputType(This,lIndex,InputType)#define IAMTVTuner_get_InputType(This,lIndex,pInputType)	\    (This)->lpVtbl -> get_InputType(This,lIndex,pInputType)#define IAMTVTuner_put_ConnectInput(This,lIndex)	\    (This)->lpVtbl -> put_ConnectInput(This,lIndex)#define IAMTVTuner_get_ConnectInput(This,plIndex)	\    (This)->lpVtbl -> get_ConnectInput(This,plIndex)#define IAMTVTuner_get_VideoFrequency(This,lFreq)	\    (This)->lpVtbl -> get_VideoFrequency(This,lFreq)#define IAMTVTuner_get_AudioFrequency(This,lFreq)	\    (This)->lpVtbl -> get_AudioFrequency(This,lFreq)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AvailableTVFormats_Proxy(    IAMTVTuner * This,    /* [out] */ long *lAnalogVideoStandard);void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVTuner_get_TVFormat_Proxy(    IAMTVTuner * This,    /* [out] */ long *plAnalogVideoStandard);void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVTuner_AutoTune_Proxy(    IAMTVTuner * This,    /* [in] */ long lChannel,    /* [out] */ long *plFoundSignal);void __RPC_STUB IAMTVTuner_AutoTune_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVTuner_StoreAutoTune_Proxy(    IAMTVTuner * This);void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVTuner_get_NumInputConnections_Proxy(    IAMTVTuner * This,    /* [out] */ long *plNumInputConnections);void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVTuner_put_InputType_Proxy(    IAMTVTuner * This,    /* [in] */ long lIndex,    /* [in] */ TunerInputType InputType);void __RPC_STUB IAMTVTuner_put_InputType_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVTuner_get_InputType_Proxy(    IAMTVTuner * This,    /* [in] */ long lIndex,    /* [out] */ TunerInputType *pInputType);void __RPC_STUB IAMTVTuner_get_InputType_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVTuner_put_ConnectInput_Proxy(    IAMTVTuner * This,    /* [in] */ long lIndex);void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVTuner_get_ConnectInput_Proxy(    IAMTVTuner * This,    /* [out] */ long *plIndex);void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVTuner_get_VideoFrequency_Proxy(    IAMTVTuner * This,    /* [out] */ long *lFreq);void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AudioFrequency_Proxy(    IAMTVTuner * This,    /* [out] */ long *lFreq);void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMTVTuner_INTERFACE_DEFINED__ */#ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__#define __IBPCSatelliteTuner_INTERFACE_DEFINED__/* interface IBPCSatelliteTuner *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IBPCSatelliteTuner;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("211A8765-03AC-11d1-8D13-00AA00BD8339")    IBPCSatelliteTuner : public IAMTuner    {    public:        virtual HRESULT STDMETHODCALLTYPE get_DefaultSubChannelTypes(            /* [out] */ long *plDefaultVideoType,            /* [out] */ long *plDefaultAudioType) = 0;        virtual HRESULT STDMETHODCALLTYPE put_DefaultSubChannelTypes(            /* [in] */ long lDefaultVideoType,            /* [in] */ long lDefaultAudioType) = 0;        virtual HRESULT STDMETHODCALLTYPE IsTapingPermitted( void) = 0;    };#else 	/* C style interface */    typedef struct IBPCSatelliteTunerVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IBPCSatelliteTuner * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IBPCSatelliteTuner * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IBPCSatelliteTuner * This);        HRESULT ( STDMETHODCALLTYPE *put_Channel )(            IBPCSatelliteTuner * This,            /* [in] */ long lChannel,            /* [in] */ long lVideoSubChannel,            /* [in] */ long lAudioSubChannel);        HRESULT ( STDMETHODCALLTYPE *get_Channel )(            IBPCSatelliteTuner * This,            /* [out] */ long *plChannel,            /* [out] */ long *plVideoSubChannel,            /* [out] */ long *plAudioSubChannel);        HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )(            IBPCSatelliteTuner * This,            /* [out] */ long *lChannelMin,            /* [out] */ long *lChannelMax);        HRESULT ( STDMETHODCALLTYPE *put_CountryCode )(            IBPCSatelliteTuner * This,            /* [in] */ long lCountryCode);        HRESULT ( STDMETHODCALLTYPE *get_CountryCode )(            IBPCSatelliteTuner * This,            /* [out] */ long *plCountryCode);        HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )(            IBPCSatelliteTuner * This,            /* [in] */ long lTuningSpace);        HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )(            IBPCSatelliteTuner * This,            /* [out] */ long *plTuningSpace);        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )(            IBPCSatelliteTuner * This,            /* [in] */ HANDLE hCurrentUser);        HRESULT ( STDMETHODCALLTYPE *Logout )(            IBPCSatelliteTuner * This);        HRESULT ( STDMETHODCALLTYPE *SignalPresent )(            IBPCSatelliteTuner * This,            /* [out] */ long *plSignalStrength);        HRESULT ( STDMETHODCALLTYPE *put_Mode )(            IBPCSatelliteTuner * This,            /* [in] */ AMTunerModeType lMode);        HRESULT ( STDMETHODCALLTYPE *get_Mode )(            IBPCSatelliteTuner * This,            /* [out] */ AMTunerModeType *plMode);        HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )(            IBPCSatelliteTuner * This,            /* [out] */ long *plModes);        HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(            IBPCSatelliteTuner * This,            /* [in] */ IAMTunerNotification *pNotify,            /* [in] */ long lEvents);        HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(            IBPCSatelliteTuner * This,            /* [in] */ IAMTunerNotification *pNotify);        HRESULT ( STDMETHODCALLTYPE *get_DefaultSubChannelTypes )(            IBPCSatelliteTuner * This,            /* [out] */ long *plDefaultVideoType,            /* [out] */ long *plDefaultAudioType);        HRESULT ( STDMETHODCALLTYPE *put_DefaultSubChannelTypes )(            IBPCSatelliteTuner * This,            /* [in] */ long lDefaultVideoType,            /* [in] */ long lDefaultAudioType);        HRESULT ( STDMETHODCALLTYPE *IsTapingPermitted )(            IBPCSatelliteTuner * This);        END_INTERFACE    } IBPCSatelliteTunerVtbl;    interface IBPCSatelliteTuner    {        CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;    };#ifdef COBJMACROS#define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IBPCSatelliteTuner_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IBPCSatelliteTuner_Release(This)	\    (This)->lpVtbl -> Release(This)#define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)	\    (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)#define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)	\    (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)#define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax)	\    (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)#define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode)	\    (This)->lpVtbl -> put_CountryCode(This,lCountryCode)#define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode)	\    (This)->lpVtbl -> get_CountryCode(This,plCountryCode)#define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace)	\    (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)#define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace)	\    (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)#define IBPCSatelliteTuner_Logon(This,hCurrentUser)	\    (This)->lpVtbl -> Logon(This,hCurrentUser)#define IBPCSatelliteTuner_Logout(This)	\    (This)->lpVtbl -> Logout(This)#define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength)	\    (This)->lpVtbl -> SignalPresent(This,plSignalStrength)#define IBPCSatelliteTuner_put_Mode(This,lMode)	\    (This)->lpVtbl -> put_Mode(This,lMode)#define IBPCSatelliteTuner_get_Mode(This,plMode)	\    (This)->lpVtbl -> get_Mode(This,plMode)#define IBPCSatelliteTuner_GetAvailableModes(This,plModes)	\    (This)->lpVtbl -> GetAvailableModes(This,plModes)#define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents)	\    (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)#define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify)	\    (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)#define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)	\    (This)->lpVtbl -> get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)#define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)	\    (This)->lpVtbl -> put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)#define IBPCSatelliteTuner_IsTapingPermitted(This)	\    (This)->lpVtbl -> IsTapingPermitted(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy(    IBPCSatelliteTuner * This,    /* [out] */ long *plDefaultVideoType,    /* [out] */ long *plDefaultAudioType);void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy(    IBPCSatelliteTuner * This,    /* [in] */ long lDefaultVideoType,    /* [in] */ long lDefaultAudioType);void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_IsTapingPermitted_Proxy(    IBPCSatelliteTuner * This);void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IBPCSatelliteTuner_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0177 *//* [local] */typedefenum tagTVAudioMode    {	AMTVAUDIO_MODE_MONO	= 0x1,	AMTVAUDIO_MODE_STEREO	= 0x2,	AMTVAUDIO_MODE_LANG_A	= 0x10,	AMTVAUDIO_MODE_LANG_B	= 0x20,	AMTVAUDIO_MODE_LANG_C	= 0x40    } 	TVAudioMode;typedefenum tagAMTVAudioEventType    {	AMTVAUDIO_EVENT_CHANGED	= 0x1    } 	AMTVAudioEventType;extern RPC_IF_HANDLE __MIDL_itf_strmif_0177_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0177_v0_0_s_ifspec;#ifndef __IAMTVAudio_INTERFACE_DEFINED__#define __IAMTVAudio_INTERFACE_DEFINED__/* interface IAMTVAudio *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IAMTVAudio;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("83EC1C30-23D1-11d1-99E6-00A0C9560266")    IAMTVAudio : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetHardwareSupportedTVAudioModes(            /* [out] */ long *plModes) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAvailableTVAudioModes(            /* [out] */ long *plModes) = 0;        virtual HRESULT STDMETHODCALLTYPE get_TVAudioMode(            /* [out] */ long *plMode) = 0;        virtual HRESULT STDMETHODCALLTYPE put_TVAudioMode(            /* [in] */ long lMode) = 0;        virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack(            /* [in] */ IAMTunerNotification *pNotify,            /* [in] */ long lEvents) = 0;        virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack(            IAMTunerNotification *pNotify) = 0;    };#else 	/* C style interface */    typedef struct IAMTVAudioVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMTVAudio * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMTVAudio * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMTVAudio * This);        HRESULT ( STDMETHODCALLTYPE *GetHardwareSupportedTVAudioModes )(            IAMTVAudio * This,            /* [out] */ long *plModes);        HRESULT ( STDMETHODCALLTYPE *GetAvailableTVAudioModes )(            IAMTVAudio * This,            /* [out] */ long *plModes);        HRESULT ( STDMETHODCALLTYPE *get_TVAudioMode )(            IAMTVAudio * This,            /* [out] */ long *plMode);        HRESULT ( STDMETHODCALLTYPE *put_TVAudioMode )(            IAMTVAudio * This,            /* [in] */ long lMode);        HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )(            IAMTVAudio * This,            /* [in] */ IAMTunerNotification *pNotify,            /* [in] */ long lEvents);        HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )(            IAMTVAudio * This,            IAMTunerNotification *pNotify);        END_INTERFACE    } IAMTVAudioVtbl;    interface IAMTVAudio    {        CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMTVAudio_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMTVAudio_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMTVAudio_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes)	\    (This)->lpVtbl -> GetHardwareSupportedTVAudioModes(This,plModes)#define IAMTVAudio_GetAvailableTVAudioModes(This,plModes)	\    (This)->lpVtbl -> GetAvailableTVAudioModes(This,plModes)#define IAMTVAudio_get_TVAudioMode(This,plMode)	\    (This)->lpVtbl -> get_TVAudioMode(This,plMode)#define IAMTVAudio_put_TVAudioMode(This,lMode)	\    (This)->lpVtbl -> put_TVAudioMode(This,lMode)#define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents)	\    (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)#define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify)	\    (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy(    IAMTVAudio * This,    /* [out] */ long *plModes);void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVAudio_GetAvailableTVAudioModes_Proxy(    IAMTVAudio * This,    /* [out] */ long *plModes);void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVAudio_get_TVAudioMode_Proxy(    IAMTVAudio * This,    /* [out] */ long *plMode);void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVAudio_put_TVAudioMode_Proxy(    IAMTVAudio * This,    /* [in] */ long lMode);void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVAudio_RegisterNotificationCallBack_Proxy(    IAMTVAudio * This,    /* [in] */ IAMTunerNotification *pNotify,    /* [in] */ long lEvents);void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTVAudio_UnRegisterNotificationCallBack_Proxy(    IAMTVAudio * This,    IAMTunerNotification *pNotify);void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMTVAudio_INTERFACE_DEFINED__ */#ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__#define __IAMTVAudioNotification_INTERFACE_DEFINED__/* interface IAMTVAudioNotification *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IAMTVAudioNotification;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("83EC1C33-23D1-11d1-99E6-00A0C9560266")    IAMTVAudioNotification : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE OnEvent(            /* [in] */ AMTVAudioEventType Event) = 0;    };#else 	/* C style interface */    typedef struct IAMTVAudioNotificationVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMTVAudioNotification * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMTVAudioNotification * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMTVAudioNotification * This);        HRESULT ( STDMETHODCALLTYPE *OnEvent )(            IAMTVAudioNotification * This,            /* [in] */ AMTVAudioEventType Event);        END_INTERFACE    } IAMTVAudioNotificationVtbl;    interface IAMTVAudioNotification    {        CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMTVAudioNotification_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMTVAudioNotification_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMTVAudioNotification_OnEvent(This,Event)	\    (This)->lpVtbl -> OnEvent(This,Event)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMTVAudioNotification_OnEvent_Proxy(    IAMTVAudioNotification * This,    /* [in] */ AMTVAudioEventType Event);void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMTVAudioNotification_INTERFACE_DEFINED__ */#ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__#define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__/* interface IAMAnalogVideoEncoder *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMAnalogVideoEncoder;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("C6E133B0-30AC-11d0-A18C-00A0C9118956")    IAMAnalogVideoEncoder : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats(            /* [out] */ long *lAnalogVideoStandard) = 0;        virtual HRESULT STDMETHODCALLTYPE put_TVFormat(            /* [in] */ long lAnalogVideoStandard) = 0;        virtual HRESULT STDMETHODCALLTYPE get_TVFormat(            /* [out] */ long *plAnalogVideoStandard) = 0;        virtual HRESULT STDMETHODCALLTYPE put_CopyProtection(            /* [in] */ long lVideoCopyProtection) = 0;        virtual HRESULT STDMETHODCALLTYPE get_CopyProtection(            /* [out] */ long *lVideoCopyProtection) = 0;        virtual HRESULT STDMETHODCALLTYPE put_CCEnable(            /* [in] */ long lCCEnable) = 0;        virtual HRESULT STDMETHODCALLTYPE get_CCEnable(            /* [out] */ long *lCCEnable) = 0;    };#else 	/* C style interface */    typedef struct IAMAnalogVideoEncoderVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMAnalogVideoEncoder * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMAnalogVideoEncoder * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMAnalogVideoEncoder * This);        HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )(            IAMAnalogVideoEncoder * This,            /* [out] */ long *lAnalogVideoStandard);        HRESULT ( STDMETHODCALLTYPE *put_TVFormat )(            IAMAnalogVideoEncoder * This,            /* [in] */ long lAnalogVideoStandard);        HRESULT ( STDMETHODCALLTYPE *get_TVFormat )(            IAMAnalogVideoEncoder * This,            /* [out] */ long *plAnalogVideoStandard);        HRESULT ( STDMETHODCALLTYPE *put_CopyProtection )(            IAMAnalogVideoEncoder * This,            /* [in] */ long lVideoCopyProtection);        HRESULT ( STDMETHODCALLTYPE *get_CopyProtection )(            IAMAnalogVideoEncoder * This,            /* [out] */ long *lVideoCopyProtection);        HRESULT ( STDMETHODCALLTYPE *put_CCEnable )(            IAMAnalogVideoEncoder * This,            /* [in] */ long lCCEnable);        HRESULT ( STDMETHODCALLTYPE *get_CCEnable )(            IAMAnalogVideoEncoder * This,            /* [out] */ long *lCCEnable);        END_INTERFACE    } IAMAnalogVideoEncoderVtbl;    interface IAMAnalogVideoEncoder    {        CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMAnalogVideoEncoder_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMAnalogVideoEncoder_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard)	\    (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)#define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard)	\    (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)#define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard)	\    (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)#define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection)	\    (This)->lpVtbl -> put_CopyProtection(This,lVideoCopyProtection)#define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection)	\    (This)->lpVtbl -> get_CopyProtection(This,lVideoCopyProtection)#define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable)	\    (This)->lpVtbl -> put_CCEnable(This,lCCEnable)#define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable)	\    (This)->lpVtbl -> get_CCEnable(This,lCCEnable)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy(    IAMAnalogVideoEncoder * This,    /* [out] */ long *lAnalogVideoStandard);void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_TVFormat_Proxy(    IAMAnalogVideoEncoder * This,    /* [in] */ long lAnalogVideoStandard);void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_TVFormat_Proxy(    IAMAnalogVideoEncoder * This,    /* [out] */ long *plAnalogVideoStandard);void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CopyProtection_Proxy(    IAMAnalogVideoEncoder * This,    /* [in] */ long lVideoCopyProtection);void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CopyProtection_Proxy(    IAMAnalogVideoEncoder * This,    /* [out] */ long *lVideoCopyProtection);void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CCEnable_Proxy(    IAMAnalogVideoEncoder * This,    /* [in] */ long lCCEnable);void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CCEnable_Proxy(    IAMAnalogVideoEncoder * This,    /* [out] */ long *lCCEnable);void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0180 *//* [local] */typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0180_0001    {	AMPROPERTY_PIN_CATEGORY	= 0,	AMPROPERTY_PIN_MEDIUM	= AMPROPERTY_PIN_CATEGORY + 1    } 	AMPROPERTY_PIN;#ifndef _IKsPropertySet_#define _IKsPropertySet_#define KSPROPERTY_SUPPORT_GET  1#define KSPROPERTY_SUPPORT_SET  2extern RPC_IF_HANDLE __MIDL_itf_strmif_0180_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0180_v0_0_s_ifspec;#ifndef __IKsPropertySet_INTERFACE_DEFINED__#define __IKsPropertySet_INTERFACE_DEFINED__/* interface IKsPropertySet *//* [unique][uuid][object] */EXTERN_C const IID IID_IKsPropertySet;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("31EFAC30-515C-11d0-A9AA-00AA0061BE93")    IKsPropertySet : public IUnknown    {    public:        virtual /* [local] */ HRESULT STDMETHODCALLTYPE Set(            /* [in] */ REFGUID guidPropSet,            /* [in] */ DWORD dwPropID,            /* [size_is][in] */ LPVOID pInstanceData,            /* [in] */ DWORD cbInstanceData,            /* [size_is][in] */ LPVOID pPropData,            /* [in] */ DWORD cbPropData) = 0;        virtual /* [local] */ HRESULT STDMETHODCALLTYPE Get(            /* [in] */ REFGUID guidPropSet,            /* [in] */ DWORD dwPropID,            /* [size_is][in] */ LPVOID pInstanceData,            /* [in] */ DWORD cbInstanceData,            /* [size_is][out] */ LPVOID pPropData,            /* [in] */ DWORD cbPropData,            /* [out] */ DWORD *pcbReturned) = 0;        virtual HRESULT STDMETHODCALLTYPE QuerySupported(            /* [in] */ REFGUID guidPropSet,            /* [in] */ DWORD dwPropID,            /* [out] */ DWORD *pTypeSupport) = 0;    };#else 	/* C style interface */    typedef struct IKsPropertySetVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IKsPropertySet * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IKsPropertySet * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IKsPropertySet * This);        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Set )(            IKsPropertySet * This,            /* [in] */ REFGUID guidPropSet,            /* [in] */ DWORD dwPropID,            /* [size_is][in] */ LPVOID pInstanceData,            /* [in] */ DWORD cbInstanceData,            /* [size_is][in] */ LPVOID pPropData,            /* [in] */ DWORD cbPropData);        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Get )(            IKsPropertySet * This,            /* [in] */ REFGUID guidPropSet,            /* [in] */ DWORD dwPropID,            /* [size_is][in] */ LPVOID pInstanceData,            /* [in] */ DWORD cbInstanceData,            /* [size_is][out] */ LPVOID pPropData,            /* [in] */ DWORD cbPropData,            /* [out] */ DWORD *pcbReturned);        HRESULT ( STDMETHODCALLTYPE *QuerySupported )(            IKsPropertySet * This,            /* [in] */ REFGUID guidPropSet,            /* [in] */ DWORD dwPropID,            /* [out] */ DWORD *pTypeSupport);        END_INTERFACE    } IKsPropertySetVtbl;    interface IKsPropertySet    {        CONST_VTBL struct IKsPropertySetVtbl *lpVtbl;    };#ifdef COBJMACROS#define IKsPropertySet_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IKsPropertySet_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IKsPropertySet_Release(This)	\    (This)->lpVtbl -> Release(This)#define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)	\    (This)->lpVtbl -> Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)#define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)	\    (This)->lpVtbl -> Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)#define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)	\    (This)->lpVtbl -> QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)#endif /* COBJMACROS */#endif 	/* C style interface *//* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteSet_Proxy(    IKsPropertySet * This,    /* [in] */ REFGUID guidPropSet,    /* [in] */ DWORD dwPropID,    /* [size_is][in] */ byte *pInstanceData,    /* [in] */ DWORD cbInstanceData,    /* [size_is][in] */ byte *pPropData,    /* [in] */ DWORD cbPropData);void __RPC_STUB IKsPropertySet_RemoteSet_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);/* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteGet_Proxy(    IKsPropertySet * This,    /* [in] */ REFGUID guidPropSet,    /* [in] */ DWORD dwPropID,    /* [size_is][in] */ byte *pInstanceData,    /* [in] */ DWORD cbInstanceData,    /* [size_is][out] */ byte *pPropData,    /* [in] */ DWORD cbPropData,    /* [out] */ DWORD *pcbReturned);void __RPC_STUB IKsPropertySet_RemoteGet_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IKsPropertySet_QuerySupported_Proxy(    IKsPropertySet * This,    /* [in] */ REFGUID guidPropSet,    /* [in] */ DWORD dwPropID,    /* [out] */ DWORD *pTypeSupport);void __RPC_STUB IKsPropertySet_QuerySupported_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IKsPropertySet_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0181 *//* [local] */#endif // _IKsPropertySet_extern RPC_IF_HANDLE __MIDL_itf_strmif_0181_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0181_v0_0_s_ifspec;#ifndef __IMediaPropertyBag_INTERFACE_DEFINED__#define __IMediaPropertyBag_INTERFACE_DEFINED__/* interface IMediaPropertyBag *//* [unique][uuid][object] */typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;EXTERN_C const IID IID_IMediaPropertyBag;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("6025A880-C0D5-11d0-BD4E-00A0C911CE86")    IMediaPropertyBag : public IPropertyBag    {    public:        virtual HRESULT STDMETHODCALLTYPE EnumProperty(            /* [in] */ ULONG iProperty,            /* [out][in] */ VARIANT *pvarPropertyName,            /* [out][in] */ VARIANT *pvarPropertyValue) = 0;    };#else 	/* C style interface */    typedef struct IMediaPropertyBagVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IMediaPropertyBag * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IMediaPropertyBag * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IMediaPropertyBag * This);        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(            IMediaPropertyBag * This,            /* [in] */ LPCOLESTR pszPropName,            /* [out][in] */ VARIANT *pVar,            /* [in] */ IErrorLog *pErrorLog);        HRESULT ( STDMETHODCALLTYPE *Write )(            IMediaPropertyBag * This,            /* [in] */ LPCOLESTR pszPropName,            /* [in] */ VARIANT *pVar);        HRESULT ( STDMETHODCALLTYPE *EnumProperty )(            IMediaPropertyBag * This,            /* [in] */ ULONG iProperty,            /* [out][in] */ VARIANT *pvarPropertyName,            /* [out][in] */ VARIANT *pvarPropertyValue);        END_INTERFACE    } IMediaPropertyBagVtbl;    interface IMediaPropertyBag    {        CONST_VTBL struct IMediaPropertyBagVtbl *lpVtbl;    };#ifdef COBJMACROS#define IMediaPropertyBag_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IMediaPropertyBag_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IMediaPropertyBag_Release(This)	\    (This)->lpVtbl -> Release(This)#define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog)	\    (This)->lpVtbl -> Read(This,pszPropName,pVar,pErrorLog)#define IMediaPropertyBag_Write(This,pszPropName,pVar)	\    (This)->lpVtbl -> Write(This,pszPropName,pVar)#define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)	\    (This)->lpVtbl -> EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IMediaPropertyBag_EnumProperty_Proxy(    IMediaPropertyBag * This,    /* [in] */ ULONG iProperty,    /* [out][in] */ VARIANT *pvarPropertyName,    /* [out][in] */ VARIANT *pvarPropertyValue);void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IMediaPropertyBag_INTERFACE_DEFINED__ */#ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__#define __IPersistMediaPropertyBag_INTERFACE_DEFINED__/* interface IPersistMediaPropertyBag *//* [unique][uuid][object] */typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;EXTERN_C const IID IID_IPersistMediaPropertyBag;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("5738E040-B67F-11d0-BD4D-00A0C911CE86")    IPersistMediaPropertyBag : public IPersist    {    public:        virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Load(            /* [in] */ IMediaPropertyBag *pPropBag,            /* [in] */ IErrorLog *pErrorLog) = 0;        virtual HRESULT STDMETHODCALLTYPE Save(            /* [in] */ IMediaPropertyBag *pPropBag,            /* [in] */ BOOL fClearDirty,            /* [in] */ BOOL fSaveAllProperties) = 0;    };#else 	/* C style interface */    typedef struct IPersistMediaPropertyBagVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IPersistMediaPropertyBag * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IPersistMediaPropertyBag * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IPersistMediaPropertyBag * This);        HRESULT ( STDMETHODCALLTYPE *GetClassID )(            IPersistMediaPropertyBag * This,            /* [out] */ CLSID *pClassID);        HRESULT ( STDMETHODCALLTYPE *InitNew )(            IPersistMediaPropertyBag * This);        HRESULT ( STDMETHODCALLTYPE *Load )(            IPersistMediaPropertyBag * This,            /* [in] */ IMediaPropertyBag *pPropBag,            /* [in] */ IErrorLog *pErrorLog);        HRESULT ( STDMETHODCALLTYPE *Save )(            IPersistMediaPropertyBag * This,            /* [in] */ IMediaPropertyBag *pPropBag,            /* [in] */ BOOL fClearDirty,            /* [in] */ BOOL fSaveAllProperties);        END_INTERFACE    } IPersistMediaPropertyBagVtbl;    interface IPersistMediaPropertyBag    {        CONST_VTBL struct IPersistMediaPropertyBagVtbl *lpVtbl;    };#ifdef COBJMACROS#define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IPersistMediaPropertyBag_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IPersistMediaPropertyBag_Release(This)	\    (This)->lpVtbl -> Release(This)#define IPersistMediaPropertyBag_GetClassID(This,pClassID)	\    (This)->lpVtbl -> GetClassID(This,pClassID)#define IPersistMediaPropertyBag_InitNew(This)	\    (This)->lpVtbl -> InitNew(This)#define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog)	\    (This)->lpVtbl -> Load(This,pPropBag,pErrorLog)#define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties)	\    (This)->lpVtbl -> Save(This,pPropBag,fClearDirty,fSaveAllProperties)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_InitNew_Proxy(    IPersistMediaPropertyBag * This);void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Load_Proxy(    IPersistMediaPropertyBag * This,    /* [in] */ IMediaPropertyBag *pPropBag,    /* [in] */ IErrorLog *pErrorLog);void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Save_Proxy(    IPersistMediaPropertyBag * This,    /* [in] */ IMediaPropertyBag *pPropBag,    /* [in] */ BOOL fClearDirty,    /* [in] */ BOOL fSaveAllProperties);void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */#ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__#define __IAMPhysicalPinInfo_INTERFACE_DEFINED__/* interface IAMPhysicalPinInfo *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMPhysicalPinInfo;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("F938C991-3029-11cf-8C44-00AA006B6814")    IAMPhysicalPinInfo : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetPhysicalType(            /* [out] */ long *pType,            /* [out] */ LPOLESTR *ppszType) = 0;    };#else 	/* C style interface */    typedef struct IAMPhysicalPinInfoVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMPhysicalPinInfo * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMPhysicalPinInfo * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMPhysicalPinInfo * This);        HRESULT ( STDMETHODCALLTYPE *GetPhysicalType )(            IAMPhysicalPinInfo * This,            /* [out] */ long *pType,            /* [out] */ LPOLESTR *ppszType);        END_INTERFACE    } IAMPhysicalPinInfoVtbl;    interface IAMPhysicalPinInfo    {        CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMPhysicalPinInfo_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMPhysicalPinInfo_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType)	\    (This)->lpVtbl -> GetPhysicalType(This,pType,ppszType)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMPhysicalPinInfo_GetPhysicalType_Proxy(    IAMPhysicalPinInfo * This,    /* [out] */ long *pType,    /* [out] */ LPOLESTR *ppszType);void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMPhysicalPinInfo_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0328 *//* [local] */typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;extern RPC_IF_HANDLE __MIDL_itf_strmif_0328_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0328_v0_0_s_ifspec;#ifndef __IAMExtDevice_INTERFACE_DEFINED__#define __IAMExtDevice_INTERFACE_DEFINED__/* interface IAMExtDevice *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMExtDevice;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("B5730A90-1A2C-11cf-8C23-00AA006B6814")    IAMExtDevice : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetCapability(            /* [in] */ long Capability,            /* [out] */ long *pValue,            /* [out] */ double *pdblValue) = 0;        virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceID(            /* [out] */ LPOLESTR *ppszData) = 0;        virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceVersion(            /* [out] */ LPOLESTR *ppszData) = 0;        virtual HRESULT STDMETHODCALLTYPE put_DevicePower(            /* [in] */ long PowerMode) = 0;        virtual HRESULT STDMETHODCALLTYPE get_DevicePower(            /* [out] */ long *pPowerMode) = 0;        virtual HRESULT STDMETHODCALLTYPE Calibrate(            /* [in] */ HEVENT hEvent,            /* [in] */ long Mode,            /* [out] */ long *pStatus) = 0;        virtual HRESULT STDMETHODCALLTYPE put_DevicePort(            /* [in] */ long DevicePort) = 0;        virtual HRESULT STDMETHODCALLTYPE get_DevicePort(            /* [out] */ long *pDevicePort) = 0;    };#else 	/* C style interface */    typedef struct IAMExtDeviceVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMExtDevice * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMExtDevice * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMExtDevice * This);        HRESULT ( STDMETHODCALLTYPE *GetCapability )(            IAMExtDevice * This,            /* [in] */ long Capability,            /* [out] */ long *pValue,            /* [out] */ double *pdblValue);        HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceID )(            IAMExtDevice * This,            /* [out] */ LPOLESTR *ppszData);        HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceVersion )(            IAMExtDevice * This,            /* [out] */ LPOLESTR *ppszData);        HRESULT ( STDMETHODCALLTYPE *put_DevicePower )(            IAMExtDevice * This,            /* [in] */ long PowerMode);        HRESULT ( STDMETHODCALLTYPE *get_DevicePower )(            IAMExtDevice * This,            /* [out] */ long *pPowerMode);        HRESULT ( STDMETHODCALLTYPE *Calibrate )(            IAMExtDevice * This,            /* [in] */ HEVENT hEvent,            /* [in] */ long Mode,            /* [out] */ long *pStatus);        HRESULT ( STDMETHODCALLTYPE *put_DevicePort )(            IAMExtDevice * This,            /* [in] */ long DevicePort);        HRESULT ( STDMETHODCALLTYPE *get_DevicePort )(            IAMExtDevice * This,            /* [out] */ long *pDevicePort);        END_INTERFACE    } IAMExtDeviceVtbl;    interface IAMExtDevice    {        CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMExtDevice_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMExtDevice_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMExtDevice_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue)	\    (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)#define IAMExtDevice_get_ExternalDeviceID(This,ppszData)	\    (This)->lpVtbl -> get_ExternalDeviceID(This,ppszData)#define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData)	\    (This)->lpVtbl -> get_ExternalDeviceVersion(This,ppszData)#define IAMExtDevice_put_DevicePower(This,PowerMode)	\    (This)->lpVtbl -> put_DevicePower(This,PowerMode)#define IAMExtDevice_get_DevicePower(This,pPowerMode)	\    (This)->lpVtbl -> get_DevicePower(This,pPowerMode)#define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus)	\    (This)->lpVtbl -> Calibrate(This,hEvent,Mode,pStatus)#define IAMExtDevice_put_DevicePort(This,DevicePort)	\    (This)->lpVtbl -> put_DevicePort(This,DevicePort)#define IAMExtDevice_get_DevicePort(This,pDevicePort)	\    (This)->lpVtbl -> get_DevicePort(This,pDevicePort)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMExtDevice_GetCapability_Proxy(    IAMExtDevice * This,    /* [in] */ long Capability,    /* [out] */ long *pValue,    /* [out] */ double *pdblValue);void __RPC_STUB IAMExtDevice_GetCapability_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceID_Proxy(    IAMExtDevice * This,    /* [out] */ LPOLESTR *ppszData);void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceVersion_Proxy(    IAMExtDevice * This,    /* [out] */ LPOLESTR *ppszData);void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePower_Proxy(    IAMExtDevice * This,    /* [in] */ long PowerMode);void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePower_Proxy(    IAMExtDevice * This,    /* [out] */ long *pPowerMode);void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtDevice_Calibrate_Proxy(    IAMExtDevice * This,    /* [in] */ HEVENT hEvent,    /* [in] */ long Mode,    /* [out] */ long *pStatus);void __RPC_STUB IAMExtDevice_Calibrate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePort_Proxy(    IAMExtDevice * This,    /* [in] */ long DevicePort);void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePort_Proxy(    IAMExtDevice * This,    /* [out] */ long *pDevicePort);void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMExtDevice_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0329 *//* [local] */typedef IAMExtDevice *PEXTDEVICE;extern RPC_IF_HANDLE __MIDL_itf_strmif_0329_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0329_v0_0_s_ifspec;#ifndef __IAMExtTransport_INTERFACE_DEFINED__#define __IAMExtTransport_INTERFACE_DEFINED__/* interface IAMExtTransport *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMExtTransport;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("A03CD5F0-3045-11cf-8C44-00AA006B6814")    IAMExtTransport : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetCapability(            /* [in] */ long Capability,            /* [out] */ long *pValue,            /* [out] */ double *pdblValue) = 0;        virtual HRESULT STDMETHODCALLTYPE put_MediaState(            /* [in] */ long State) = 0;        virtual HRESULT STDMETHODCALLTYPE get_MediaState(            /* [out] */ long *pState) = 0;        virtual HRESULT STDMETHODCALLTYPE put_LocalControl(            /* [in] */ long State) = 0;        virtual HRESULT STDMETHODCALLTYPE get_LocalControl(            /* [out] */ long *pState) = 0;        virtual HRESULT STDMETHODCALLTYPE GetStatus(            /* [in] */ long StatusItem,            /* [out] */ long *pValue) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTransportBasicParameters(            /* [in] */ long Param,            /* [out] */ long *pValue,            /* [out] */ LPOLESTR *ppszData) = 0;        virtual HRESULT STDMETHODCALLTYPE SetTransportBasicParameters(            /* [in] */ long Param,            /* [in] */ long Value,            /* [in] */ LPCOLESTR pszData) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTransportVideoParameters(            /* [in] */ long Param,            /* [out] */ long *pValue) = 0;        virtual HRESULT STDMETHODCALLTYPE SetTransportVideoParameters(            /* [in] */ long Param,            /* [in] */ long Value) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTransportAudioParameters(            /* [in] */ long Param,            /* [out] */ long *pValue) = 0;        virtual HRESULT STDMETHODCALLTYPE SetTransportAudioParameters(            /* [in] */ long Param,            /* [in] */ long Value) = 0;        virtual HRESULT STDMETHODCALLTYPE put_Mode(            /* [in] */ long Mode) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Mode(            /* [out] */ long *pMode) = 0;        virtual HRESULT STDMETHODCALLTYPE put_Rate(            /* [in] */ double dblRate) = 0;        virtual HRESULT STDMETHODCALLTYPE get_Rate(            /* [out] */ double *pdblRate) = 0;        virtual HRESULT STDMETHODCALLTYPE GetChase(            /* [out] */ long *pEnabled,            /* [out] */ long *pOffset,            /* [out] */ HEVENT *phEvent) = 0;        virtual HRESULT STDMETHODCALLTYPE SetChase(            /* [in] */ long Enable,            /* [in] */ long Offset,            /* [in] */ HEVENT hEvent) = 0;        virtual HRESULT STDMETHODCALLTYPE GetBump(            /* [out] */ long *pSpeed,            /* [out] */ long *pDuration) = 0;        virtual HRESULT STDMETHODCALLTYPE SetBump(            /* [in] */ long Speed,            /* [in] */ long Duration) = 0;        virtual HRESULT STDMETHODCALLTYPE get_AntiClogControl(            /* [out] */ long *pEnabled) = 0;        virtual HRESULT STDMETHODCALLTYPE put_AntiClogControl(            /* [in] */ long Enable) = 0;        virtual HRESULT STDMETHODCALLTYPE GetEditPropertySet(            /* [in] */ long EditID,            /* [out] */ long *pState) = 0;        virtual HRESULT STDMETHODCALLTYPE SetEditPropertySet(            /* [out][in] */ long *pEditID,            /* [in] */ long State) = 0;        virtual HRESULT STDMETHODCALLTYPE GetEditProperty(            /* [in] */ long EditID,            /* [in] */ long Param,            /* [out] */ long *pValue) = 0;        virtual HRESULT STDMETHODCALLTYPE SetEditProperty(            /* [in] */ long EditID,            /* [in] */ long Param,            /* [in] */ long Value) = 0;        virtual HRESULT STDMETHODCALLTYPE get_EditStart(            /* [out] */ long *pValue) = 0;        virtual HRESULT STDMETHODCALLTYPE put_EditStart(            /* [in] */ long Value) = 0;    };#else 	/* C style interface */    typedef struct IAMExtTransportVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMExtTransport * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMExtTransport * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMExtTransport * This);        HRESULT ( STDMETHODCALLTYPE *GetCapability )(            IAMExtTransport * This,            /* [in] */ long Capability,            /* [out] */ long *pValue,            /* [out] */ double *pdblValue);        HRESULT ( STDMETHODCALLTYPE *put_MediaState )(            IAMExtTransport * This,            /* [in] */ long State);        HRESULT ( STDMETHODCALLTYPE *get_MediaState )(            IAMExtTransport * This,            /* [out] */ long *pState);        HRESULT ( STDMETHODCALLTYPE *put_LocalControl )(            IAMExtTransport * This,            /* [in] */ long State);        HRESULT ( STDMETHODCALLTYPE *get_LocalControl )(            IAMExtTransport * This,            /* [out] */ long *pState);        HRESULT ( STDMETHODCALLTYPE *GetStatus )(            IAMExtTransport * This,            /* [in] */ long StatusItem,            /* [out] */ long *pValue);        HRESULT ( STDMETHODCALLTYPE *GetTransportBasicParameters )(            IAMExtTransport * This,            /* [in] */ long Param,            /* [out] */ long *pValue,            /* [out] */ LPOLESTR *ppszData);        HRESULT ( STDMETHODCALLTYPE *SetTransportBasicParameters )(            IAMExtTransport * This,            /* [in] */ long Param,            /* [in] */ long Value,            /* [in] */ LPCOLESTR pszData);        HRESULT ( STDMETHODCALLTYPE *GetTransportVideoParameters )(            IAMExtTransport * This,            /* [in] */ long Param,            /* [out] */ long *pValue);        HRESULT ( STDMETHODCALLTYPE *SetTransportVideoParameters )(            IAMExtTransport * This,            /* [in] */ long Param,            /* [in] */ long Value);        HRESULT ( STDMETHODCALLTYPE *GetTransportAudioParameters )(            IAMExtTransport * This,            /* [in] */ long Param,            /* [out] */ long *pValue);        HRESULT ( STDMETHODCALLTYPE *SetTransportAudioParameters )(            IAMExtTransport * This,            /* [in] */ long Param,            /* [in] */ long Value);        HRESULT ( STDMETHODCALLTYPE *put_Mode )(            IAMExtTransport * This,            /* [in] */ long Mode);        HRESULT ( STDMETHODCALLTYPE *get_Mode )(            IAMExtTransport * This,            /* [out] */ long *pMode);        HRESULT ( STDMETHODCALLTYPE *put_Rate )(            IAMExtTransport * This,            /* [in] */ double dblRate);        HRESULT ( STDMETHODCALLTYPE *get_Rate )(            IAMExtTransport * This,            /* [out] */ double *pdblRate);        HRESULT ( STDMETHODCALLTYPE *GetChase )(            IAMExtTransport * This,            /* [out] */ long *pEnabled,            /* [out] */ long *pOffset,            /* [out] */ HEVENT *phEvent);        HRESULT ( STDMETHODCALLTYPE *SetChase )(            IAMExtTransport * This,            /* [in] */ long Enable,            /* [in] */ long Offset,            /* [in] */ HEVENT hEvent);        HRESULT ( STDMETHODCALLTYPE *GetBump )(            IAMExtTransport * This,            /* [out] */ long *pSpeed,            /* [out] */ long *pDuration);        HRESULT ( STDMETHODCALLTYPE *SetBump )(            IAMExtTransport * This,            /* [in] */ long Speed,            /* [in] */ long Duration);        HRESULT ( STDMETHODCALLTYPE *get_AntiClogControl )(            IAMExtTransport * This,            /* [out] */ long *pEnabled);        HRESULT ( STDMETHODCALLTYPE *put_AntiClogControl )(            IAMExtTransport * This,            /* [in] */ long Enable);        HRESULT ( STDMETHODCALLTYPE *GetEditPropertySet )(            IAMExtTransport * This,            /* [in] */ long EditID,            /* [out] */ long *pState);        HRESULT ( STDMETHODCALLTYPE *SetEditPropertySet )(            IAMExtTransport * This,            /* [out][in] */ long *pEditID,            /* [in] */ long State);        HRESULT ( STDMETHODCALLTYPE *GetEditProperty )(            IAMExtTransport * This,            /* [in] */ long EditID,            /* [in] */ long Param,            /* [out] */ long *pValue);        HRESULT ( STDMETHODCALLTYPE *SetEditProperty )(            IAMExtTransport * This,            /* [in] */ long EditID,            /* [in] */ long Param,            /* [in] */ long Value);        HRESULT ( STDMETHODCALLTYPE *get_EditStart )(            IAMExtTransport * This,            /* [out] */ long *pValue);        HRESULT ( STDMETHODCALLTYPE *put_EditStart )(            IAMExtTransport * This,            /* [in] */ long Value);        END_INTERFACE    } IAMExtTransportVtbl;    interface IAMExtTransport    {        CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMExtTransport_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMExtTransport_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMExtTransport_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue)	\    (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)#define IAMExtTransport_put_MediaState(This,State)	\    (This)->lpVtbl -> put_MediaState(This,State)#define IAMExtTransport_get_MediaState(This,pState)	\    (This)->lpVtbl -> get_MediaState(This,pState)#define IAMExtTransport_put_LocalControl(This,State)	\    (This)->lpVtbl -> put_LocalControl(This,State)#define IAMExtTransport_get_LocalControl(This,pState)	\    (This)->lpVtbl -> get_LocalControl(This,pState)#define IAMExtTransport_GetStatus(This,StatusItem,pValue)	\    (This)->lpVtbl -> GetStatus(This,StatusItem,pValue)#define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData)	\    (This)->lpVtbl -> GetTransportBasicParameters(This,Param,pValue,ppszData)#define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData)	\    (This)->lpVtbl -> SetTransportBasicParameters(This,Param,Value,pszData)#define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue)	\    (This)->lpVtbl -> GetTransportVideoParameters(This,Param,pValue)#define IAMExtTransport_SetTransportVideoParameters(This,Param,Value)	\    (This)->lpVtbl -> SetTransportVideoParameters(This,Param,Value)#define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue)	\    (This)->lpVtbl -> GetTransportAudioParameters(This,Param,pValue)#define IAMExtTransport_SetTransportAudioParameters(This,Param,Value)	\    (This)->lpVtbl -> SetTransportAudioParameters(This,Param,Value)#define IAMExtTransport_put_Mode(This,Mode)	\    (This)->lpVtbl -> put_Mode(This,Mode)#define IAMExtTransport_get_Mode(This,pMode)	\    (This)->lpVtbl -> get_Mode(This,pMode)#define IAMExtTransport_put_Rate(This,dblRate)	\    (This)->lpVtbl -> put_Rate(This,dblRate)#define IAMExtTransport_get_Rate(This,pdblRate)	\    (This)->lpVtbl -> get_Rate(This,pdblRate)#define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent)	\    (This)->lpVtbl -> GetChase(This,pEnabled,pOffset,phEvent)#define IAMExtTransport_SetChase(This,Enable,Offset,hEvent)	\    (This)->lpVtbl -> SetChase(This,Enable,Offset,hEvent)#define IAMExtTransport_GetBump(This,pSpeed,pDuration)	\    (This)->lpVtbl -> GetBump(This,pSpeed,pDuration)#define IAMExtTransport_SetBump(This,Speed,Duration)	\    (This)->lpVtbl -> SetBump(This,Speed,Duration)#define IAMExtTransport_get_AntiClogControl(This,pEnabled)	\    (This)->lpVtbl -> get_AntiClogControl(This,pEnabled)#define IAMExtTransport_put_AntiClogControl(This,Enable)	\    (This)->lpVtbl -> put_AntiClogControl(This,Enable)#define IAMExtTransport_GetEditPropertySet(This,EditID,pState)	\    (This)->lpVtbl -> GetEditPropertySet(This,EditID,pState)#define IAMExtTransport_SetEditPropertySet(This,pEditID,State)	\    (This)->lpVtbl -> SetEditPropertySet(This,pEditID,State)#define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue)	\    (This)->lpVtbl -> GetEditProperty(This,EditID,Param,pValue)#define IAMExtTransport_SetEditProperty(This,EditID,Param,Value)	\    (This)->lpVtbl -> SetEditProperty(This,EditID,Param,Value)#define IAMExtTransport_get_EditStart(This,pValue)	\    (This)->lpVtbl -> get_EditStart(This,pValue)#define IAMExtTransport_put_EditStart(This,Value)	\    (This)->lpVtbl -> put_EditStart(This,Value)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMExtTransport_GetCapability_Proxy(    IAMExtTransport * This,    /* [in] */ long Capability,    /* [out] */ long *pValue,    /* [out] */ double *pdblValue);void __RPC_STUB IAMExtTransport_GetCapability_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_put_MediaState_Proxy(    IAMExtTransport * This,    /* [in] */ long State);void __RPC_STUB IAMExtTransport_put_MediaState_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_get_MediaState_Proxy(    IAMExtTransport * This,    /* [out] */ long *pState);void __RPC_STUB IAMExtTransport_get_MediaState_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_put_LocalControl_Proxy(    IAMExtTransport * This,    /* [in] */ long State);void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_get_LocalControl_Proxy(    IAMExtTransport * This,    /* [out] */ long *pState);void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_GetStatus_Proxy(    IAMExtTransport * This,    /* [in] */ long StatusItem,    /* [out] */ long *pValue);void __RPC_STUB IAMExtTransport_GetStatus_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportBasicParameters_Proxy(    IAMExtTransport * This,    /* [in] */ long Param,    /* [out] */ long *pValue,    /* [out] */ LPOLESTR *ppszData);void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportBasicParameters_Proxy(    IAMExtTransport * This,    /* [in] */ long Param,    /* [in] */ long Value,    /* [in] */ LPCOLESTR pszData);void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportVideoParameters_Proxy(    IAMExtTransport * This,    /* [in] */ long Param,    /* [out] */ long *pValue);void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportVideoParameters_Proxy(    IAMExtTransport * This,    /* [in] */ long Param,    /* [in] */ long Value);void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportAudioParameters_Proxy(    IAMExtTransport * This,    /* [in] */ long Param,    /* [out] */ long *pValue);void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportAudioParameters_Proxy(    IAMExtTransport * This,    /* [in] */ long Param,    /* [in] */ long Value);void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Mode_Proxy(    IAMExtTransport * This,    /* [in] */ long Mode);void __RPC_STUB IAMExtTransport_put_Mode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Mode_Proxy(    IAMExtTransport * This,    /* [out] */ long *pMode);void __RPC_STUB IAMExtTransport_get_Mode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Rate_Proxy(    IAMExtTransport * This,    /* [in] */ double dblRate);void __RPC_STUB IAMExtTransport_put_Rate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Rate_Proxy(    IAMExtTransport * This,    /* [out] */ double *pdblRate);void __RPC_STUB IAMExtTransport_get_Rate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_GetChase_Proxy(    IAMExtTransport * This,    /* [out] */ long *pEnabled,    /* [out] */ long *pOffset,    /* [out] */ HEVENT *phEvent);void __RPC_STUB IAMExtTransport_GetChase_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_SetChase_Proxy(    IAMExtTransport * This,    /* [in] */ long Enable,    /* [in] */ long Offset,    /* [in] */ HEVENT hEvent);void __RPC_STUB IAMExtTransport_SetChase_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_GetBump_Proxy(    IAMExtTransport * This,    /* [out] */ long *pSpeed,    /* [out] */ long *pDuration);void __RPC_STUB IAMExtTransport_GetBump_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_SetBump_Proxy(    IAMExtTransport * This,    /* [in] */ long Speed,    /* [in] */ long Duration);void __RPC_STUB IAMExtTransport_SetBump_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_get_AntiClogControl_Proxy(    IAMExtTransport * This,    /* [out] */ long *pEnabled);void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_put_AntiClogControl_Proxy(    IAMExtTransport * This,    /* [in] */ long Enable);void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditPropertySet_Proxy(    IAMExtTransport * This,    /* [in] */ long EditID,    /* [out] */ long *pState);void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditPropertySet_Proxy(    IAMExtTransport * This,    /* [out][in] */ long *pEditID,    /* [in] */ long State);void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditProperty_Proxy(    IAMExtTransport * This,    /* [in] */ long EditID,    /* [in] */ long Param,    /* [out] */ long *pValue);void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditProperty_Proxy(    IAMExtTransport * This,    /* [in] */ long EditID,    /* [in] */ long Param,    /* [in] */ long Value);void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_get_EditStart_Proxy(    IAMExtTransport * This,    /* [out] */ long *pValue);void __RPC_STUB IAMExtTransport_get_EditStart_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMExtTransport_put_EditStart_Proxy(    IAMExtTransport * This,    /* [in] */ long Value);void __RPC_STUB IAMExtTransport_put_EditStart_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMExtTransport_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0330 *//* [local] */typedef IAMExtTransport *PIAMEXTTRANSPORT;#if 0/* the following is what MIDL knows how to remote */typedef struct tagTIMECODE    {    WORD wFrameRate;    WORD wFrameFract;    DWORD dwFrames;    } 	TIMECODE;#else /* 0 */#ifndef TIMECODE_DEFINED#define TIMECODE_DEFINEDtypedef union _timecode {   struct {	 WORD   wFrameRate;	 WORD   wFrameFract;	 DWORD  dwFrames;	 };   DWORDLONG  qw;   } TIMECODE;#endif /* TIMECODE_DEFINED */#endif /* 0 */typedef TIMECODE *PTIMECODE;typedef struct tagTIMECODE_SAMPLE    {    LONGLONG qwTick;    TIMECODE timecode;    DWORD dwUser;    DWORD dwFlags;    } 	TIMECODE_SAMPLE;typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;extern RPC_IF_HANDLE __MIDL_itf_strmif_0330_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0330_v0_0_s_ifspec;#ifndef __IAMTimecodeReader_INTERFACE_DEFINED__#define __IAMTimecodeReader_INTERFACE_DEFINED__/* interface IAMTimecodeReader *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMTimecodeReader;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("9B496CE1-811B-11cf-8C77-00AA006B6814")    IAMTimecodeReader : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetTCRMode(            /* [in] */ long Param,            /* [out] */ long *pValue) = 0;        virtual HRESULT STDMETHODCALLTYPE SetTCRMode(            /* [in] */ long Param,            /* [in] */ long Value) = 0;        virtual HRESULT STDMETHODCALLTYPE put_VITCLine(            /* [in] */ long Line) = 0;        virtual HRESULT STDMETHODCALLTYPE get_VITCLine(            /* [out] */ long *pLine) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTimecode(            /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;    };#else 	/* C style interface */    typedef struct IAMTimecodeReaderVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMTimecodeReader * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMTimecodeReader * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMTimecodeReader * This);        HRESULT ( STDMETHODCALLTYPE *GetTCRMode )(            IAMTimecodeReader * This,            /* [in] */ long Param,            /* [out] */ long *pValue);        HRESULT ( STDMETHODCALLTYPE *SetTCRMode )(            IAMTimecodeReader * This,            /* [in] */ long Param,            /* [in] */ long Value);        HRESULT ( STDMETHODCALLTYPE *put_VITCLine )(            IAMTimecodeReader * This,            /* [in] */ long Line);        HRESULT ( STDMETHODCALLTYPE *get_VITCLine )(            IAMTimecodeReader * This,            /* [out] */ long *pLine);        HRESULT ( STDMETHODCALLTYPE *GetTimecode )(            IAMTimecodeReader * This,            /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);        END_INTERFACE    } IAMTimecodeReaderVtbl;    interface IAMTimecodeReader    {        CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMTimecodeReader_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMTimecodeReader_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMTimecodeReader_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMTimecodeReader_GetTCRMode(This,Param,pValue)	\    (This)->lpVtbl -> GetTCRMode(This,Param,pValue)#define IAMTimecodeReader_SetTCRMode(This,Param,Value)	\    (This)->lpVtbl -> SetTCRMode(This,Param,Value)#define IAMTimecodeReader_put_VITCLine(This,Line)	\    (This)->lpVtbl -> put_VITCLine(This,Line)#define IAMTimecodeReader_get_VITCLine(This,pLine)	\    (This)->lpVtbl -> get_VITCLine(This,pLine)#define IAMTimecodeReader_GetTimecode(This,pTimecodeSample)	\    (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTCRMode_Proxy(    IAMTimecodeReader * This,    /* [in] */ long Param,    /* [out] */ long *pValue);void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTimecodeReader_SetTCRMode_Proxy(    IAMTimecodeReader * This,    /* [in] */ long Param,    /* [in] */ long Value);void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTimecodeReader_put_VITCLine_Proxy(    IAMTimecodeReader * This,    /* [in] */ long Line);void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTimecodeReader_get_VITCLine_Proxy(    IAMTimecodeReader * This,    /* [out] */ long *pLine);void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTimecode_Proxy(    IAMTimecodeReader * This,    /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMTimecodeReader_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0331 *//* [local] */typedef IAMTimecodeReader *PIAMTIMECODEREADER;extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_s_ifspec;#ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__#define __IAMTimecodeGenerator_INTERFACE_DEFINED__/* interface IAMTimecodeGenerator *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMTimecodeGenerator;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("9B496CE0-811B-11cf-8C77-00AA006B6814")    IAMTimecodeGenerator : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetTCGMode(            /* [in] */ long Param,            /* [out] */ long *pValue) = 0;        virtual HRESULT STDMETHODCALLTYPE SetTCGMode(            /* [in] */ long Param,            /* [in] */ long Value) = 0;        virtual HRESULT STDMETHODCALLTYPE put_VITCLine(            /* [in] */ long Line) = 0;        virtual HRESULT STDMETHODCALLTYPE get_VITCLine(            /* [out] */ long *pLine) = 0;        virtual HRESULT STDMETHODCALLTYPE SetTimecode(            /* [in] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTimecode(            /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;    };#else 	/* C style interface */    typedef struct IAMTimecodeGeneratorVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMTimecodeGenerator * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMTimecodeGenerator * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMTimecodeGenerator * This);        HRESULT ( STDMETHODCALLTYPE *GetTCGMode )(            IAMTimecodeGenerator * This,            /* [in] */ long Param,            /* [out] */ long *pValue);        HRESULT ( STDMETHODCALLTYPE *SetTCGMode )(            IAMTimecodeGenerator * This,            /* [in] */ long Param,            /* [in] */ long Value);        HRESULT ( STDMETHODCALLTYPE *put_VITCLine )(            IAMTimecodeGenerator * This,            /* [in] */ long Line);        HRESULT ( STDMETHODCALLTYPE *get_VITCLine )(            IAMTimecodeGenerator * This,            /* [out] */ long *pLine);        HRESULT ( STDMETHODCALLTYPE *SetTimecode )(            IAMTimecodeGenerator * This,            /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);        HRESULT ( STDMETHODCALLTYPE *GetTimecode )(            IAMTimecodeGenerator * This,            /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);        END_INTERFACE    } IAMTimecodeGeneratorVtbl;    interface IAMTimecodeGenerator    {        CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMTimecodeGenerator_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMTimecodeGenerator_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue)	\    (This)->lpVtbl -> GetTCGMode(This,Param,pValue)#define IAMTimecodeGenerator_SetTCGMode(This,Param,Value)	\    (This)->lpVtbl -> SetTCGMode(This,Param,Value)#define IAMTimecodeGenerator_put_VITCLine(This,Line)	\    (This)->lpVtbl -> put_VITCLine(This,Line)#define IAMTimecodeGenerator_get_VITCLine(This,pLine)	\    (This)->lpVtbl -> get_VITCLine(This,pLine)#define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample)	\    (This)->lpVtbl -> SetTimecode(This,pTimecodeSample)#define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample)	\    (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTCGMode_Proxy(    IAMTimecodeGenerator * This,    /* [in] */ long Param,    /* [out] */ long *pValue);void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTCGMode_Proxy(    IAMTimecodeGenerator * This,    /* [in] */ long Param,    /* [in] */ long Value);void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_put_VITCLine_Proxy(    IAMTimecodeGenerator * This,    /* [in] */ long Line);void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_get_VITCLine_Proxy(    IAMTimecodeGenerator * This,    /* [out] */ long *pLine);void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTimecode_Proxy(    IAMTimecodeGenerator * This,    /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTimecode_Proxy(    IAMTimecodeGenerator * This,    /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMTimecodeGenerator_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0332 *//* [local] */typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_s_ifspec;#ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__#define __IAMTimecodeDisplay_INTERFACE_DEFINED__/* interface IAMTimecodeDisplay *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMTimecodeDisplay;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("9B496CE2-811B-11cf-8C77-00AA006B6814")    IAMTimecodeDisplay : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetTCDisplayEnable(            /* [out] */ long *pState) = 0;        virtual HRESULT STDMETHODCALLTYPE SetTCDisplayEnable(            /* [in] */ long State) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTCDisplay(            /* [in] */ long Param,            /* [out] */ long *pValue) = 0;        virtual HRESULT STDMETHODCALLTYPE SetTCDisplay(            /* [in] */ long Param,            /* [in] */ long Value) = 0;    };#else 	/* C style interface */    typedef struct IAMTimecodeDisplayVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMTimecodeDisplay * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMTimecodeDisplay * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMTimecodeDisplay * This);        HRESULT ( STDMETHODCALLTYPE *GetTCDisplayEnable )(            IAMTimecodeDisplay * This,            /* [out] */ long *pState);        HRESULT ( STDMETHODCALLTYPE *SetTCDisplayEnable )(            IAMTimecodeDisplay * This,            /* [in] */ long State);        HRESULT ( STDMETHODCALLTYPE *GetTCDisplay )(            IAMTimecodeDisplay * This,            /* [in] */ long Param,            /* [out] */ long *pValue);        HRESULT ( STDMETHODCALLTYPE *SetTCDisplay )(            IAMTimecodeDisplay * This,            /* [in] */ long Param,            /* [in] */ long Value);        END_INTERFACE    } IAMTimecodeDisplayVtbl;    interface IAMTimecodeDisplay    {        CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMTimecodeDisplay_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMTimecodeDisplay_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState)	\    (This)->lpVtbl -> GetTCDisplayEnable(This,pState)#define IAMTimecodeDisplay_SetTCDisplayEnable(This,State)	\    (This)->lpVtbl -> SetTCDisplayEnable(This,State)#define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue)	\    (This)->lpVtbl -> GetTCDisplay(This,Param,pValue)#define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value)	\    (This)->lpVtbl -> SetTCDisplay(This,Param,Value)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplayEnable_Proxy(    IAMTimecodeDisplay * This,    /* [out] */ long *pState);void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplayEnable_Proxy(    IAMTimecodeDisplay * This,    /* [in] */ long State);void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplay_Proxy(    IAMTimecodeDisplay * This,    /* [in] */ long Param,    /* [out] */ long *pValue);void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplay_Proxy(    IAMTimecodeDisplay * This,    /* [in] */ long Param,    /* [in] */ long Value);void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMTimecodeDisplay_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0333 *//* [local] */typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_s_ifspec;#ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__#define __IAMDevMemoryAllocator_INTERFACE_DEFINED__/* interface IAMDevMemoryAllocator *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMDevMemoryAllocator;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("c6545bf0-e76b-11d0-bd52-00a0c911ce86")    IAMDevMemoryAllocator : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetInfo(            /* [out] */ DWORD *pdwcbTotalFree,            /* [out] */ DWORD *pdwcbLargestFree,            /* [out] */ DWORD *pdwcbTotalMemory,            /* [out] */ DWORD *pdwcbMinimumChunk) = 0;        virtual HRESULT STDMETHODCALLTYPE CheckMemory(            /* [in] */ const BYTE *pBuffer) = 0;        virtual HRESULT STDMETHODCALLTYPE Alloc(            /* [out] */ BYTE **ppBuffer,            /* [out][in] */ DWORD *pdwcbBuffer) = 0;        virtual HRESULT STDMETHODCALLTYPE Free(            /* [in] */ BYTE *pBuffer) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDevMemoryObject(            /* [out] */ IUnknown **ppUnkInnner,            /* [in] */ IUnknown *pUnkOuter) = 0;    };#else 	/* C style interface */    typedef struct IAMDevMemoryAllocatorVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMDevMemoryAllocator * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMDevMemoryAllocator * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMDevMemoryAllocator * This);        HRESULT ( STDMETHODCALLTYPE *GetInfo )(            IAMDevMemoryAllocator * This,            /* [out] */ DWORD *pdwcbTotalFree,            /* [out] */ DWORD *pdwcbLargestFree,            /* [out] */ DWORD *pdwcbTotalMemory,            /* [out] */ DWORD *pdwcbMinimumChunk);        HRESULT ( STDMETHODCALLTYPE *CheckMemory )(            IAMDevMemoryAllocator * This,            /* [in] */ const BYTE *pBuffer);        HRESULT ( STDMETHODCALLTYPE *Alloc )(            IAMDevMemoryAllocator * This,            /* [out] */ BYTE **ppBuffer,            /* [out][in] */ DWORD *pdwcbBuffer);        HRESULT ( STDMETHODCALLTYPE *Free )(            IAMDevMemoryAllocator * This,            /* [in] */ BYTE *pBuffer);        HRESULT ( STDMETHODCALLTYPE *GetDevMemoryObject )(            IAMDevMemoryAllocator * This,            /* [out] */ IUnknown **ppUnkInnner,            /* [in] */ IUnknown *pUnkOuter);        END_INTERFACE    } IAMDevMemoryAllocatorVtbl;    interface IAMDevMemoryAllocator    {        CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMDevMemoryAllocator_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMDevMemoryAllocator_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)	\    (This)->lpVtbl -> GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)#define IAMDevMemoryAllocator_CheckMemory(This,pBuffer)	\    (This)->lpVtbl -> CheckMemory(This,pBuffer)#define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer)	\    (This)->lpVtbl -> Alloc(This,ppBuffer,pdwcbBuffer)#define IAMDevMemoryAllocator_Free(This,pBuffer)	\    (This)->lpVtbl -> Free(This,pBuffer)#define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)	\    (This)->lpVtbl -> GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetInfo_Proxy(    IAMDevMemoryAllocator * This,    /* [out] */ DWORD *pdwcbTotalFree,    /* [out] */ DWORD *pdwcbLargestFree,    /* [out] */ DWORD *pdwcbTotalMemory,    /* [out] */ DWORD *pdwcbMinimumChunk);void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_CheckMemory_Proxy(    IAMDevMemoryAllocator * This,    /* [in] */ const BYTE *pBuffer);void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Alloc_Proxy(    IAMDevMemoryAllocator * This,    /* [out] */ BYTE **ppBuffer,    /* [out][in] */ DWORD *pdwcbBuffer);void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Free_Proxy(    IAMDevMemoryAllocator * This,    /* [in] */ BYTE *pBuffer);void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetDevMemoryObject_Proxy(    IAMDevMemoryAllocator * This,    /* [out] */ IUnknown **ppUnkInnner,    /* [in] */ IUnknown *pUnkOuter);void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMDevMemoryAllocator_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0334 *//* [local] */typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_s_ifspec;#ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__#define __IAMDevMemoryControl_INTERFACE_DEFINED__/* interface IAMDevMemoryControl *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMDevMemoryControl;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("c6545bf1-e76b-11d0-bd52-00a0c911ce86")    IAMDevMemoryControl : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE QueryWriteSync( void) = 0;        virtual HRESULT STDMETHODCALLTYPE WriteSync( void) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDevId(            /* [out] */ DWORD *pdwDevId) = 0;    };#else 	/* C style interface */    typedef struct IAMDevMemoryControlVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMDevMemoryControl * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMDevMemoryControl * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMDevMemoryControl * This);        HRESULT ( STDMETHODCALLTYPE *QueryWriteSync )(            IAMDevMemoryControl * This);        HRESULT ( STDMETHODCALLTYPE *WriteSync )(            IAMDevMemoryControl * This);        HRESULT ( STDMETHODCALLTYPE *GetDevId )(            IAMDevMemoryControl * This,            /* [out] */ DWORD *pdwDevId);        END_INTERFACE    } IAMDevMemoryControlVtbl;    interface IAMDevMemoryControl    {        CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMDevMemoryControl_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMDevMemoryControl_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMDevMemoryControl_QueryWriteSync(This)	\    (This)->lpVtbl -> QueryWriteSync(This)#define IAMDevMemoryControl_WriteSync(This)	\    (This)->lpVtbl -> WriteSync(This)#define IAMDevMemoryControl_GetDevId(This,pdwDevId)	\    (This)->lpVtbl -> GetDevId(This,pdwDevId)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_QueryWriteSync_Proxy(    IAMDevMemoryControl * This);void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_WriteSync_Proxy(    IAMDevMemoryControl * This);void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_GetDevId_Proxy(    IAMDevMemoryControl * This,    /* [out] */ DWORD *pdwDevId);void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMDevMemoryControl_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0335 *//* [local] */typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;enum _AMSTREAMSELECTINFOFLAGS    {	AMSTREAMSELECTINFO_ENABLED	= 0x1,	AMSTREAMSELECTINFO_EXCLUSIVE	= 0x2    } ;enum _AMSTREAMSELECTENABLEFLAGS    {	AMSTREAMSELECTENABLE_ENABLE	= 0x1,	AMSTREAMSELECTENABLE_ENABLEALL	= 0x2    } ;extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_s_ifspec;#ifndef __IAMStreamSelect_INTERFACE_DEFINED__#define __IAMStreamSelect_INTERFACE_DEFINED__/* interface IAMStreamSelect *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMStreamSelect;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("c1960960-17f5-11d1-abe1-00a0c905f375")    IAMStreamSelect : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Count(            /* [out] */ DWORD *pcStreams) = 0;        virtual HRESULT STDMETHODCALLTYPE Info(            /* [in] */ long lIndex,            /* [out] */ AM_MEDIA_TYPE **ppmt,            /* [out] */ DWORD *pdwFlags,            /* [out] */ LCID *plcid,            /* [out] */ DWORD *pdwGroup,            /* [out] */ WCHAR **ppszName,            /* [out] */ IUnknown **ppObject,            /* [out] */ IUnknown **ppUnk) = 0;        virtual HRESULT STDMETHODCALLTYPE Enable(            /* [in] */ long lIndex,            /* [in] */ DWORD dwFlags) = 0;    };#else 	/* C style interface */    typedef struct IAMStreamSelectVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMStreamSelect * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMStreamSelect * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMStreamSelect * This);        HRESULT ( STDMETHODCALLTYPE *Count )(            IAMStreamSelect * This,            /* [out] */ DWORD *pcStreams);        HRESULT ( STDMETHODCALLTYPE *Info )(            IAMStreamSelect * This,            /* [in] */ long lIndex,            /* [out] */ AM_MEDIA_TYPE **ppmt,            /* [out] */ DWORD *pdwFlags,            /* [out] */ LCID *plcid,            /* [out] */ DWORD *pdwGroup,            /* [out] */ WCHAR **ppszName,            /* [out] */ IUnknown **ppObject,            /* [out] */ IUnknown **ppUnk);        HRESULT ( STDMETHODCALLTYPE *Enable )(            IAMStreamSelect * This,            /* [in] */ long lIndex,            /* [in] */ DWORD dwFlags);        END_INTERFACE    } IAMStreamSelectVtbl;    interface IAMStreamSelect    {        CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMStreamSelect_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMStreamSelect_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMStreamSelect_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMStreamSelect_Count(This,pcStreams)	\    (This)->lpVtbl -> Count(This,pcStreams)#define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)	\    (This)->lpVtbl -> Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)#define IAMStreamSelect_Enable(This,lIndex,dwFlags)	\    (This)->lpVtbl -> Enable(This,lIndex,dwFlags)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMStreamSelect_Count_Proxy(    IAMStreamSelect * This,    /* [out] */ DWORD *pcStreams);void __RPC_STUB IAMStreamSelect_Count_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMStreamSelect_Info_Proxy(    IAMStreamSelect * This,    /* [in] */ long lIndex,    /* [out] */ AM_MEDIA_TYPE **ppmt,    /* [out] */ DWORD *pdwFlags,    /* [out] */ LCID *plcid,    /* [out] */ DWORD *pdwGroup,    /* [out] */ WCHAR **ppszName,    /* [out] */ IUnknown **ppObject,    /* [out] */ IUnknown **ppUnk);void __RPC_STUB IAMStreamSelect_Info_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMStreamSelect_Enable_Proxy(    IAMStreamSelect * This,    /* [in] */ long lIndex,    /* [in] */ DWORD dwFlags);void __RPC_STUB IAMStreamSelect_Enable_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMStreamSelect_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0336 *//* [local] */typedef IAMStreamSelect *PAMSTREAMSELECT;enum _AMRESCTL_RESERVEFLAGS    {	AMRESCTL_RESERVEFLAGS_RESERVE	= 0,	AMRESCTL_RESERVEFLAGS_UNRESERVE	= 0x1    } ;extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_s_ifspec;#ifndef __IAMResourceControl_INTERFACE_DEFINED__#define __IAMResourceControl_INTERFACE_DEFINED__/* interface IAMResourceControl *//* [local][unique][uuid][object] */EXTERN_C const IID IID_IAMResourceControl;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("8389d2d0-77d7-11d1-abe6-00a0c905f375")    IAMResourceControl : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Reserve(            /* [in] */ DWORD dwFlags,            /* [in] */ PVOID pvReserved) = 0;    };#else 	/* C style interface */    typedef struct IAMResourceControlVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMResourceControl * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMResourceControl * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMResourceControl * This);        HRESULT ( STDMETHODCALLTYPE *Reserve )(            IAMResourceControl * This,            /* [in] */ DWORD dwFlags,            /* [in] */ PVOID pvReserved);        END_INTERFACE    } IAMResourceControlVtbl;    interface IAMResourceControl    {        CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMResourceControl_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMResourceControl_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMResourceControl_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMResourceControl_Reserve(This,dwFlags,pvReserved)	\    (This)->lpVtbl -> Reserve(This,dwFlags,pvReserved)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMResourceControl_Reserve_Proxy(    IAMResourceControl * This,    /* [in] */ DWORD dwFlags,    /* [in] */ PVOID pvReserved);void __RPC_STUB IAMResourceControl_Reserve_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMResourceControl_INTERFACE_DEFINED__ */#ifndef __IAMClockAdjust_INTERFACE_DEFINED__#define __IAMClockAdjust_INTERFACE_DEFINED__/* interface IAMClockAdjust *//* [local][unique][uuid][object] */EXTERN_C const IID IID_IAMClockAdjust;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("4d5466b0-a49c-11d1-abe8-00a0c905f375")    IAMClockAdjust : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetClockDelta(            /* [in] */ REFERENCE_TIME rtDelta) = 0;    };#else 	/* C style interface */    typedef struct IAMClockAdjustVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMClockAdjust * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMClockAdjust * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMClockAdjust * This);        HRESULT ( STDMETHODCALLTYPE *SetClockDelta )(            IAMClockAdjust * This,            /* [in] */ REFERENCE_TIME rtDelta);        END_INTERFACE    } IAMClockAdjustVtbl;    interface IAMClockAdjust    {        CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMClockAdjust_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMClockAdjust_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMClockAdjust_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMClockAdjust_SetClockDelta(This,rtDelta)	\    (This)->lpVtbl -> SetClockDelta(This,rtDelta)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMClockAdjust_SetClockDelta_Proxy(    IAMClockAdjust * This,    /* [in] */ REFERENCE_TIME rtDelta);void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMClockAdjust_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0338 *//* [local] */enum _AM_FILTER_MISC_FLAGS    {	AM_FILTER_MISC_FLAGS_IS_RENDERER	= 0x1,	AM_FILTER_MISC_FLAGS_IS_SOURCE	= 0x2    } ;extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec;#ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__#define __IAMFilterMiscFlags_INTERFACE_DEFINED__/* interface IAMFilterMiscFlags *//* [local][unique][uuid][object] */EXTERN_C const IID IID_IAMFilterMiscFlags;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")    IAMFilterMiscFlags : public IUnknown    {    public:        virtual ULONG STDMETHODCALLTYPE GetMiscFlags( void) = 0;    };#else 	/* C style interface */    typedef struct IAMFilterMiscFlagsVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMFilterMiscFlags * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMFilterMiscFlags * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMFilterMiscFlags * This);        ULONG ( STDMETHODCALLTYPE *GetMiscFlags )(            IAMFilterMiscFlags * This);        END_INTERFACE    } IAMFilterMiscFlagsVtbl;    interface IAMFilterMiscFlags    {        CONST_VTBL struct IAMFilterMiscFlagsVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMFilterMiscFlags_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMFilterMiscFlags_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMFilterMiscFlags_GetMiscFlags(This)	\    (This)->lpVtbl -> GetMiscFlags(This)#endif /* COBJMACROS */#endif 	/* C style interface */ULONG STDMETHODCALLTYPE IAMFilterMiscFlags_GetMiscFlags_Proxy(    IAMFilterMiscFlags * This);void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */#ifndef __IDrawVideoImage_INTERFACE_DEFINED__#define __IDrawVideoImage_INTERFACE_DEFINED__/* interface IDrawVideoImage *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IDrawVideoImage;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("48efb120-ab49-11d2-aed2-00a0c995e8d5")    IDrawVideoImage : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE DrawVideoImageBegin( void) = 0;        virtual HRESULT STDMETHODCALLTYPE DrawVideoImageEnd( void) = 0;        virtual HRESULT STDMETHODCALLTYPE DrawVideoImageDraw(            /* [in] */ HDC hdc,            /* [in] */ LPRECT lprcSrc,            /* [in] */ LPRECT lprcDst) = 0;    };#else 	/* C style interface */    typedef struct IDrawVideoImageVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDrawVideoImage * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDrawVideoImage * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDrawVideoImage * This);        HRESULT ( STDMETHODCALLTYPE *DrawVideoImageBegin )(            IDrawVideoImage * This);        HRESULT ( STDMETHODCALLTYPE *DrawVideoImageEnd )(            IDrawVideoImage * This);        HRESULT ( STDMETHODCALLTYPE *DrawVideoImageDraw )(            IDrawVideoImage * This,            /* [in] */ HDC hdc,            /* [in] */ LPRECT lprcSrc,            /* [in] */ LPRECT lprcDst);        END_INTERFACE    } IDrawVideoImageVtbl;    interface IDrawVideoImage    {        CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;    };#ifdef COBJMACROS#define IDrawVideoImage_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDrawVideoImage_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDrawVideoImage_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDrawVideoImage_DrawVideoImageBegin(This)	\    (This)->lpVtbl -> DrawVideoImageBegin(This)#define IDrawVideoImage_DrawVideoImageEnd(This)	\    (This)->lpVtbl -> DrawVideoImageEnd(This)#define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)	\    (This)->lpVtbl -> DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageBegin_Proxy(    IDrawVideoImage * This);void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageEnd_Proxy(    IDrawVideoImage * This);void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageDraw_Proxy(    IDrawVideoImage * This,    /* [in] */ HDC hdc,    /* [in] */ LPRECT lprcSrc,    /* [in] */ LPRECT lprcDst);void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDrawVideoImage_INTERFACE_DEFINED__ */#ifndef __IDecimateVideoImage_INTERFACE_DEFINED__#define __IDecimateVideoImage_INTERFACE_DEFINED__/* interface IDecimateVideoImage *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IDecimateVideoImage;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("2e5ea3e0-e924-11d2-b6da-00a0c995e8df")    IDecimateVideoImage : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetDecimationImageSize(            /* [in] */ long lWidth,            /* [in] */ long lHeight) = 0;        virtual HRESULT STDMETHODCALLTYPE ResetDecimationImageSize( void) = 0;    };#else 	/* C style interface */    typedef struct IDecimateVideoImageVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDecimateVideoImage * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDecimateVideoImage * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDecimateVideoImage * This);        HRESULT ( STDMETHODCALLTYPE *SetDecimationImageSize )(            IDecimateVideoImage * This,            /* [in] */ long lWidth,            /* [in] */ long lHeight);        HRESULT ( STDMETHODCALLTYPE *ResetDecimationImageSize )(            IDecimateVideoImage * This);        END_INTERFACE    } IDecimateVideoImageVtbl;    interface IDecimateVideoImage    {        CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;    };#ifdef COBJMACROS#define IDecimateVideoImage_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDecimateVideoImage_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDecimateVideoImage_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight)	\    (This)->lpVtbl -> SetDecimationImageSize(This,lWidth,lHeight)#define IDecimateVideoImage_ResetDecimationImageSize(This)	\    (This)->lpVtbl -> ResetDecimationImageSize(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDecimateVideoImage_SetDecimationImageSize_Proxy(    IDecimateVideoImage * This,    /* [in] */ long lWidth,    /* [in] */ long lHeight);void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDecimateVideoImage_ResetDecimationImageSize_Proxy(    IDecimateVideoImage * This);void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDecimateVideoImage_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0341 *//* [local] */typedefenum _DECIMATION_USAGE    {	DECIMATION_LEGACY	= 0,	DECIMATION_USE_DECODER_ONLY	= DECIMATION_LEGACY + 1,	DECIMATION_USE_VIDEOPORT_ONLY	= DECIMATION_USE_DECODER_ONLY + 1,	DECIMATION_USE_OVERLAY_ONLY	= DECIMATION_USE_VIDEOPORT_ONLY + 1,	DECIMATION_DEFAULT	= DECIMATION_USE_OVERLAY_ONLY + 1    } 	DECIMATION_USAGE;extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec;#ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__#define __IAMVideoDecimationProperties_INTERFACE_DEFINED__/* interface IAMVideoDecimationProperties *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IAMVideoDecimationProperties;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("60d32930-13da-11d3-9ec6-c4fcaef5c7be")    IAMVideoDecimationProperties : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE QueryDecimationUsage(            /* [out] */ DECIMATION_USAGE *lpUsage) = 0;        virtual HRESULT STDMETHODCALLTYPE SetDecimationUsage(            /* [in] */ DECIMATION_USAGE Usage) = 0;    };#else 	/* C style interface */    typedef struct IAMVideoDecimationPropertiesVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMVideoDecimationProperties * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMVideoDecimationProperties * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMVideoDecimationProperties * This);        HRESULT ( STDMETHODCALLTYPE *QueryDecimationUsage )(            IAMVideoDecimationProperties * This,            /* [out] */ DECIMATION_USAGE *lpUsage);        HRESULT ( STDMETHODCALLTYPE *SetDecimationUsage )(            IAMVideoDecimationProperties * This,            /* [in] */ DECIMATION_USAGE Usage);        END_INTERFACE    } IAMVideoDecimationPropertiesVtbl;    interface IAMVideoDecimationProperties    {        CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMVideoDecimationProperties_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMVideoDecimationProperties_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage)	\    (This)->lpVtbl -> QueryDecimationUsage(This,lpUsage)#define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage)	\    (This)->lpVtbl -> SetDecimationUsage(This,Usage)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_QueryDecimationUsage_Proxy(    IAMVideoDecimationProperties * This,    /* [out] */ DECIMATION_USAGE *lpUsage);void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_SetDecimationUsage_Proxy(    IAMVideoDecimationProperties * This,    /* [in] */ DECIMATION_USAGE Usage);void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMVideoDecimationProperties_INTERFACE_DEFINED__ */#ifndef __IVideoFrameStep_INTERFACE_DEFINED__#define __IVideoFrameStep_INTERFACE_DEFINED__/* interface IVideoFrameStep *//* [unique][uuid][object] */EXTERN_C const IID IID_IVideoFrameStep;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("e46a9787-2b71-444d-a4b5-1fab7b708d6a")    IVideoFrameStep : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Step(            DWORD dwFrames,            /* [unique] */ IUnknown *pStepObject) = 0;        virtual HRESULT STDMETHODCALLTYPE CanStep(            long bMultiple,            /* [unique] */ IUnknown *pStepObject) = 0;        virtual HRESULT STDMETHODCALLTYPE CancelStep( void) = 0;    };#else 	/* C style interface */    typedef struct IVideoFrameStepVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVideoFrameStep * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVideoFrameStep * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVideoFrameStep * This);        HRESULT ( STDMETHODCALLTYPE *Step )(            IVideoFrameStep * This,            DWORD dwFrames,            /* [unique] */ IUnknown *pStepObject);        HRESULT ( STDMETHODCALLTYPE *CanStep )(            IVideoFrameStep * This,            long bMultiple,            /* [unique] */ IUnknown *pStepObject);        HRESULT ( STDMETHODCALLTYPE *CancelStep )(            IVideoFrameStep * This);        END_INTERFACE    } IVideoFrameStepVtbl;    interface IVideoFrameStep    {        CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVideoFrameStep_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVideoFrameStep_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVideoFrameStep_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVideoFrameStep_Step(This,dwFrames,pStepObject)	\    (This)->lpVtbl -> Step(This,dwFrames,pStepObject)#define IVideoFrameStep_CanStep(This,bMultiple,pStepObject)	\    (This)->lpVtbl -> CanStep(This,bMultiple,pStepObject)#define IVideoFrameStep_CancelStep(This)	\    (This)->lpVtbl -> CancelStep(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVideoFrameStep_Step_Proxy(    IVideoFrameStep * This,    DWORD dwFrames,    /* [unique] */ IUnknown *pStepObject);void __RPC_STUB IVideoFrameStep_Step_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVideoFrameStep_CanStep_Proxy(    IVideoFrameStep * This,    long bMultiple,    /* [unique] */ IUnknown *pStepObject);void __RPC_STUB IVideoFrameStep_CanStep_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVideoFrameStep_CancelStep_Proxy(    IVideoFrameStep * This);void __RPC_STUB IVideoFrameStep_CancelStep_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVideoFrameStep_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0343 *//* [local] */enum _AM_PUSHSOURCE_FLAGS    {	AM_PUSHSOURCECAPS_INTERNAL_RM	= 0x1,	AM_PUSHSOURCECAPS_NOT_LIVE	= 0x2,	AM_PUSHSOURCECAPS_PRIVATE_CLOCK	= 0x4,	AM_PUSHSOURCEREQS_USE_STREAM_CLOCK	= 0x10000    } ;extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_s_ifspec;#ifndef __IAMLatency_INTERFACE_DEFINED__#define __IAMLatency_INTERFACE_DEFINED__/* interface IAMLatency *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMLatency;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("62EA93BA-EC62-11d2-B770-00C04FB6BD3D")    IAMLatency : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetLatency(            /* [in] */ REFERENCE_TIME *prtLatency) = 0;    };#else 	/* C style interface */    typedef struct IAMLatencyVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMLatency * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMLatency * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMLatency * This);        HRESULT ( STDMETHODCALLTYPE *GetLatency )(            IAMLatency * This,            /* [in] */ REFERENCE_TIME *prtLatency);        END_INTERFACE    } IAMLatencyVtbl;    interface IAMLatency    {        CONST_VTBL struct IAMLatencyVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMLatency_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMLatency_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMLatency_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMLatency_GetLatency(This,prtLatency)	\    (This)->lpVtbl -> GetLatency(This,prtLatency)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMLatency_GetLatency_Proxy(    IAMLatency * This,    /* [in] */ REFERENCE_TIME *prtLatency);void __RPC_STUB IAMLatency_GetLatency_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMLatency_INTERFACE_DEFINED__ */#ifndef __IAMPushSource_INTERFACE_DEFINED__#define __IAMPushSource_INTERFACE_DEFINED__/* interface IAMPushSource *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMPushSource;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("F185FE76-E64E-11d2-B76E-00C04FB6BD3D")    IAMPushSource : public IAMLatency    {    public:        virtual HRESULT STDMETHODCALLTYPE GetPushSourceFlags(            /* [out] */ ULONG *pFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE SetPushSourceFlags(            /* [in] */ ULONG Flags) = 0;        virtual HRESULT STDMETHODCALLTYPE SetStreamOffset(            /* [in] */ REFERENCE_TIME rtOffset) = 0;        virtual HRESULT STDMETHODCALLTYPE GetStreamOffset(            /* [out] */ REFERENCE_TIME *prtOffset) = 0;        virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset(            /* [out] */ REFERENCE_TIME *prtMaxOffset) = 0;        virtual HRESULT STDMETHODCALLTYPE SetMaxStreamOffset(            /* [in] */ REFERENCE_TIME rtMaxOffset) = 0;    };#else 	/* C style interface */    typedef struct IAMPushSourceVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMPushSource * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMPushSource * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMPushSource * This);        HRESULT ( STDMETHODCALLTYPE *GetLatency )(            IAMPushSource * This,            /* [in] */ REFERENCE_TIME *prtLatency);        HRESULT ( STDMETHODCALLTYPE *GetPushSourceFlags )(            IAMPushSource * This,            /* [out] */ ULONG *pFlags);        HRESULT ( STDMETHODCALLTYPE *SetPushSourceFlags )(            IAMPushSource * This,            /* [in] */ ULONG Flags);        HRESULT ( STDMETHODCALLTYPE *SetStreamOffset )(            IAMPushSource * This,            /* [in] */ REFERENCE_TIME rtOffset);        HRESULT ( STDMETHODCALLTYPE *GetStreamOffset )(            IAMPushSource * This,            /* [out] */ REFERENCE_TIME *prtOffset);        HRESULT ( STDMETHODCALLTYPE *GetMaxStreamOffset )(            IAMPushSource * This,            /* [out] */ REFERENCE_TIME *prtMaxOffset);        HRESULT ( STDMETHODCALLTYPE *SetMaxStreamOffset )(            IAMPushSource * This,            /* [in] */ REFERENCE_TIME rtMaxOffset);        END_INTERFACE    } IAMPushSourceVtbl;    interface IAMPushSource    {        CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMPushSource_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMPushSource_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMPushSource_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMPushSource_GetLatency(This,prtLatency)	\    (This)->lpVtbl -> GetLatency(This,prtLatency)#define IAMPushSource_GetPushSourceFlags(This,pFlags)	\    (This)->lpVtbl -> GetPushSourceFlags(This,pFlags)#define IAMPushSource_SetPushSourceFlags(This,Flags)	\    (This)->lpVtbl -> SetPushSourceFlags(This,Flags)#define IAMPushSource_SetStreamOffset(This,rtOffset)	\    (This)->lpVtbl -> SetStreamOffset(This,rtOffset)#define IAMPushSource_GetStreamOffset(This,prtOffset)	\    (This)->lpVtbl -> GetStreamOffset(This,prtOffset)#define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset)	\    (This)->lpVtbl -> GetMaxStreamOffset(This,prtMaxOffset)#define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset)	\    (This)->lpVtbl -> SetMaxStreamOffset(This,rtMaxOffset)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMPushSource_GetPushSourceFlags_Proxy(    IAMPushSource * This,    /* [out] */ ULONG *pFlags);void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMPushSource_SetPushSourceFlags_Proxy(    IAMPushSource * This,    /* [in] */ ULONG Flags);void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMPushSource_SetStreamOffset_Proxy(    IAMPushSource * This,    /* [in] */ REFERENCE_TIME rtOffset);void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMPushSource_GetStreamOffset_Proxy(    IAMPushSource * This,    /* [out] */ REFERENCE_TIME *prtOffset);void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMPushSource_GetMaxStreamOffset_Proxy(    IAMPushSource * This,    /* [out] */ REFERENCE_TIME *prtMaxOffset);void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMPushSource_SetMaxStreamOffset_Proxy(    IAMPushSource * This,    /* [in] */ REFERENCE_TIME rtMaxOffset);void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMPushSource_INTERFACE_DEFINED__ */#ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__#define __IAMDeviceRemoval_INTERFACE_DEFINED__/* interface IAMDeviceRemoval *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMDeviceRemoval;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("f90a6130-b658-11d2-ae49-0000f8754b99")    IAMDeviceRemoval : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE DeviceInfo(            /* [out] */ CLSID *pclsidInterfaceClass,            /* [out] */ WCHAR **pwszSymbolicLink) = 0;        virtual HRESULT STDMETHODCALLTYPE Reassociate( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Disassociate( void) = 0;    };#else 	/* C style interface */    typedef struct IAMDeviceRemovalVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMDeviceRemoval * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMDeviceRemoval * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMDeviceRemoval * This);        HRESULT ( STDMETHODCALLTYPE *DeviceInfo )(            IAMDeviceRemoval * This,            /* [out] */ CLSID *pclsidInterfaceClass,            /* [out] */ WCHAR **pwszSymbolicLink);        HRESULT ( STDMETHODCALLTYPE *Reassociate )(            IAMDeviceRemoval * This);        HRESULT ( STDMETHODCALLTYPE *Disassociate )(            IAMDeviceRemoval * This);        END_INTERFACE    } IAMDeviceRemovalVtbl;    interface IAMDeviceRemoval    {        CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMDeviceRemoval_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMDeviceRemoval_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)	\    (This)->lpVtbl -> DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)#define IAMDeviceRemoval_Reassociate(This)	\    (This)->lpVtbl -> Reassociate(This)#define IAMDeviceRemoval_Disassociate(This)	\    (This)->lpVtbl -> Disassociate(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_DeviceInfo_Proxy(    IAMDeviceRemoval * This,    /* [out] */ CLSID *pclsidInterfaceClass,    /* [out] */ WCHAR **pwszSymbolicLink);void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Reassociate_Proxy(    IAMDeviceRemoval * This);void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Disassociate_Proxy(    IAMDeviceRemoval * This);void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMDeviceRemoval_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0345 *//* [local] */typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0345_0001    {    DWORD dwDVAAuxSrc;    DWORD dwDVAAuxCtl;    DWORD dwDVAAuxSrc1;    DWORD dwDVAAuxCtl1;    DWORD dwDVVAuxSrc;    DWORD dwDVVAuxCtl;    DWORD dwDVReserved[ 2 ];    } 	DVINFO;typedef struct __MIDL___MIDL_itf_strmif_0345_0001 *PDVINFO;enum _DVENCODERRESOLUTION    {	DVENCODERRESOLUTION_720x480	= 2012,	DVENCODERRESOLUTION_360x240	= 2013,	DVENCODERRESOLUTION_180x120	= 2014,	DVENCODERRESOLUTION_88x60	= 2015    } ;enum _DVENCODERVIDEOFORMAT    {	DVENCODERVIDEOFORMAT_NTSC	= 2000,	DVENCODERVIDEOFORMAT_PAL	= 2001    } ;enum _DVENCODERFORMAT    {	DVENCODERFORMAT_DVSD	= 2007,	DVENCODERFORMAT_DVHD	= 2008,	DVENCODERFORMAT_DVSL	= 2009    } ;extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_s_ifspec;#ifndef __IDVEnc_INTERFACE_DEFINED__#define __IDVEnc_INTERFACE_DEFINED__/* interface IDVEnc *//* [unique][uuid][object] */EXTERN_C const IID IID_IDVEnc;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("d18e17a0-aacb-11d0-afb0-00aa00b67a42")    IDVEnc : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE get_IFormatResolution(            /* [out] */ int *VideoFormat,            /* [out] */ int *DVFormat,            /* [out] */ int *Resolution,            /* [in] */ BYTE fDVInfo,            /* [out] */ DVINFO *sDVInfo) = 0;        virtual HRESULT STDMETHODCALLTYPE put_IFormatResolution(            /* [in] */ int VideoFormat,            /* [in] */ int DVFormat,            /* [in] */ int Resolution,            /* [in] */ BYTE fDVInfo,            /* [in] */ DVINFO *sDVInfo) = 0;    };#else 	/* C style interface */    typedef struct IDVEncVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDVEnc * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDVEnc * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDVEnc * This);        HRESULT ( STDMETHODCALLTYPE *get_IFormatResolution )(            IDVEnc * This,            /* [out] */ int *VideoFormat,            /* [out] */ int *DVFormat,            /* [out] */ int *Resolution,            /* [in] */ BYTE fDVInfo,            /* [out] */ DVINFO *sDVInfo);        HRESULT ( STDMETHODCALLTYPE *put_IFormatResolution )(            IDVEnc * This,            /* [in] */ int VideoFormat,            /* [in] */ int DVFormat,            /* [in] */ int Resolution,            /* [in] */ BYTE fDVInfo,            /* [in] */ DVINFO *sDVInfo);        END_INTERFACE    } IDVEncVtbl;    interface IDVEnc    {        CONST_VTBL struct IDVEncVtbl *lpVtbl;    };#ifdef COBJMACROS#define IDVEnc_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDVEnc_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDVEnc_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)	\    (This)->lpVtbl -> get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)#define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)	\    (This)->lpVtbl -> put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDVEnc_get_IFormatResolution_Proxy(    IDVEnc * This,    /* [out] */ int *VideoFormat,    /* [out] */ int *DVFormat,    /* [out] */ int *Resolution,    /* [in] */ BYTE fDVInfo,    /* [out] */ DVINFO *sDVInfo);void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDVEnc_put_IFormatResolution_Proxy(    IDVEnc * This,    /* [in] */ int VideoFormat,    /* [in] */ int DVFormat,    /* [in] */ int Resolution,    /* [in] */ BYTE fDVInfo,    /* [in] */ DVINFO *sDVInfo);void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDVEnc_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0346 *//* [local] */enum _DVDECODERRESOLUTION    {	DVDECODERRESOLUTION_720x480	= 1000,	DVDECODERRESOLUTION_360x240	= 1001,	DVDECODERRESOLUTION_180x120	= 1002,	DVDECODERRESOLUTION_88x60	= 1003    } ;enum _DVRESOLUTION    {	DVRESOLUTION_FULL	= 1000,	DVRESOLUTION_HALF	= 1001,	DVRESOLUTION_QUARTER	= 1002,	DVRESOLUTION_DC	= 1003    } ;extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec;#ifndef __IIPDVDec_INTERFACE_DEFINED__#define __IIPDVDec_INTERFACE_DEFINED__/* interface IIPDVDec *//* [unique][uuid][object] */EXTERN_C const IID IID_IIPDVDec;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("b8e8bd60-0bfe-11d0-af91-00aa00b67a42")    IIPDVDec : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE get_IPDisplay(            /* [out] */ int *displayPix) = 0;        virtual HRESULT STDMETHODCALLTYPE put_IPDisplay(            /* [in] */ int displayPix) = 0;    };#else 	/* C style interface */    typedef struct IIPDVDecVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IIPDVDec * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IIPDVDec * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IIPDVDec * This);        HRESULT ( STDMETHODCALLTYPE *get_IPDisplay )(            IIPDVDec * This,            /* [out] */ int *displayPix);        HRESULT ( STDMETHODCALLTYPE *put_IPDisplay )(            IIPDVDec * This,            /* [in] */ int displayPix);        END_INTERFACE    } IIPDVDecVtbl;    interface IIPDVDec    {        CONST_VTBL struct IIPDVDecVtbl *lpVtbl;    };#ifdef COBJMACROS#define IIPDVDec_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IIPDVDec_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IIPDVDec_Release(This)	\    (This)->lpVtbl -> Release(This)#define IIPDVDec_get_IPDisplay(This,displayPix)	\    (This)->lpVtbl -> get_IPDisplay(This,displayPix)#define IIPDVDec_put_IPDisplay(This,displayPix)	\    (This)->lpVtbl -> put_IPDisplay(This,displayPix)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IIPDVDec_get_IPDisplay_Proxy(    IIPDVDec * This,    /* [out] */ int *displayPix);void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IIPDVDec_put_IPDisplay_Proxy(    IIPDVDec * This,    /* [in] */ int displayPix);void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IIPDVDec_INTERFACE_DEFINED__ */#ifndef __IDVRGB219_INTERFACE_DEFINED__#define __IDVRGB219_INTERFACE_DEFINED__/* interface IDVRGB219 *//* [unique][uuid][object] */EXTERN_C const IID IID_IDVRGB219;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("58473A19-2BC8-4663-8012-25F81BABDDD1")    IDVRGB219 : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetRGB219(            /* [in] */ BOOL bState) = 0;    };#else 	/* C style interface */    typedef struct IDVRGB219Vtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDVRGB219 * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDVRGB219 * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDVRGB219 * This);        HRESULT ( STDMETHODCALLTYPE *SetRGB219 )(            IDVRGB219 * This,            /* [in] */ BOOL bState);        END_INTERFACE    } IDVRGB219Vtbl;    interface IDVRGB219    {        CONST_VTBL struct IDVRGB219Vtbl *lpVtbl;    };#ifdef COBJMACROS#define IDVRGB219_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDVRGB219_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDVRGB219_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDVRGB219_SetRGB219(This,bState)	\    (This)->lpVtbl -> SetRGB219(This,bState)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDVRGB219_SetRGB219_Proxy(    IDVRGB219 * This,    /* [in] */ BOOL bState);void __RPC_STUB IDVRGB219_SetRGB219_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDVRGB219_INTERFACE_DEFINED__ */#ifndef __IDVSplitter_INTERFACE_DEFINED__#define __IDVSplitter_INTERFACE_DEFINED__/* interface IDVSplitter *//* [uuid][object] */EXTERN_C const IID IID_IDVSplitter;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("92a3a302-da7c-4a1f-ba7e-1802bb5d2d02")    IDVSplitter : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE DiscardAlternateVideoFrames(            /* [in] */ int nDiscard) = 0;    };#else 	/* C style interface */    typedef struct IDVSplitterVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDVSplitter * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDVSplitter * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDVSplitter * This);        HRESULT ( STDMETHODCALLTYPE *DiscardAlternateVideoFrames )(            IDVSplitter * This,            /* [in] */ int nDiscard);        END_INTERFACE    } IDVSplitterVtbl;    interface IDVSplitter    {        CONST_VTBL struct IDVSplitterVtbl *lpVtbl;    };#ifdef COBJMACROS#define IDVSplitter_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDVSplitter_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDVSplitter_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard)	\    (This)->lpVtbl -> DiscardAlternateVideoFrames(This,nDiscard)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDVSplitter_DiscardAlternateVideoFrames_Proxy(    IDVSplitter * This,    /* [in] */ int nDiscard);void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDVSplitter_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0349 *//* [local] */enum _AM_AUDIO_RENDERER_STAT_PARAM    {	AM_AUDREND_STAT_PARAM_BREAK_COUNT	= 1,	AM_AUDREND_STAT_PARAM_SLAVE_MODE	= AM_AUDREND_STAT_PARAM_BREAK_COUNT + 1,	AM_AUDREND_STAT_PARAM_SILENCE_DUR	= AM_AUDREND_STAT_PARAM_SLAVE_MODE + 1,	AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR	= AM_AUDREND_STAT_PARAM_SILENCE_DUR + 1,	AM_AUDREND_STAT_PARAM_DISCONTINUITIES	= AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR + 1,	AM_AUDREND_STAT_PARAM_SLAVE_RATE	= AM_AUDREND_STAT_PARAM_DISCONTINUITIES + 1,	AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR	= AM_AUDREND_STAT_PARAM_SLAVE_RATE + 1,	AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR	= AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR + 1,	AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR	= AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR + 1,	AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR	= AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR + 1,	AM_AUDREND_STAT_PARAM_BUFFERFULLNESS	= AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR + 1,	AM_AUDREND_STAT_PARAM_JITTER	= AM_AUDREND_STAT_PARAM_BUFFERFULLNESS + 1    } ;extern RPC_IF_HANDLE __MIDL_itf_strmif_0349_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0349_v0_0_s_ifspec;#ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__#define __IAMAudioRendererStats_INTERFACE_DEFINED__/* interface IAMAudioRendererStats *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMAudioRendererStats;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("22320CB2-D41A-11d2-BF7C-D7CB9DF0BF93")    IAMAudioRendererStats : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetStatParam(            /* [in] */ DWORD dwParam,            /* [out] */ DWORD *pdwParam1,            /* [out] */ DWORD *pdwParam2) = 0;    };#else 	/* C style interface */    typedef struct IAMAudioRendererStatsVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMAudioRendererStats * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMAudioRendererStats * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMAudioRendererStats * This);        HRESULT ( STDMETHODCALLTYPE *GetStatParam )(            IAMAudioRendererStats * This,            /* [in] */ DWORD dwParam,            /* [out] */ DWORD *pdwParam1,            /* [out] */ DWORD *pdwParam2);        END_INTERFACE    } IAMAudioRendererStatsVtbl;    interface IAMAudioRendererStats    {        CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMAudioRendererStats_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMAudioRendererStats_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2)	\    (This)->lpVtbl -> GetStatParam(This,dwParam,pdwParam1,pdwParam2)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMAudioRendererStats_GetStatParam_Proxy(    IAMAudioRendererStats * This,    /* [in] */ DWORD dwParam,    /* [out] */ DWORD *pdwParam1,    /* [out] */ DWORD *pdwParam2);void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMAudioRendererStats_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0351 *//* [local] */enum _AM_INTF_SEARCH_FLAGS    {	AM_INTF_SEARCH_INPUT_PIN	= 0x1,	AM_INTF_SEARCH_OUTPUT_PIN	= 0x2,	AM_INTF_SEARCH_FILTER	= 0x4    } ;extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec;#ifndef __IAMGraphStreams_INTERFACE_DEFINED__#define __IAMGraphStreams_INTERFACE_DEFINED__/* interface IAMGraphStreams *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMGraphStreams;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("632105FA-072E-11d3-8AF9-00C04FB6BD3D")    IAMGraphStreams : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE FindUpstreamInterface(            /* [in] */ IPin *pPin,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvInterface,            /* [in] */ DWORD dwFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE SyncUsingStreamOffset(            /* [in] */ BOOL bUseStreamOffset) = 0;        virtual HRESULT STDMETHODCALLTYPE SetMaxGraphLatency(            /* [in] */ REFERENCE_TIME rtMaxGraphLatency) = 0;    };#else 	/* C style interface */    typedef struct IAMGraphStreamsVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMGraphStreams * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMGraphStreams * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMGraphStreams * This);        HRESULT ( STDMETHODCALLTYPE *FindUpstreamInterface )(            IAMGraphStreams * This,            /* [in] */ IPin *pPin,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvInterface,            /* [in] */ DWORD dwFlags);        HRESULT ( STDMETHODCALLTYPE *SyncUsingStreamOffset )(            IAMGraphStreams * This,            /* [in] */ BOOL bUseStreamOffset);        HRESULT ( STDMETHODCALLTYPE *SetMaxGraphLatency )(            IAMGraphStreams * This,            /* [in] */ REFERENCE_TIME rtMaxGraphLatency);        END_INTERFACE    } IAMGraphStreamsVtbl;    interface IAMGraphStreams    {        CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMGraphStreams_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMGraphStreams_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMGraphStreams_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)	\    (This)->lpVtbl -> FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)#define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset)	\    (This)->lpVtbl -> SyncUsingStreamOffset(This,bUseStreamOffset)#define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency)	\    (This)->lpVtbl -> SetMaxGraphLatency(This,rtMaxGraphLatency)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMGraphStreams_FindUpstreamInterface_Proxy(    IAMGraphStreams * This,    /* [in] */ IPin *pPin,    /* [in] */ REFIID riid,    /* [iid_is][out] */ void **ppvInterface,    /* [in] */ DWORD dwFlags);void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMGraphStreams_SyncUsingStreamOffset_Proxy(    IAMGraphStreams * This,    /* [in] */ BOOL bUseStreamOffset);void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMGraphStreams_SetMaxGraphLatency_Proxy(    IAMGraphStreams * This,    /* [in] */ REFERENCE_TIME rtMaxGraphLatency);void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMGraphStreams_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0352 *//* [local] */enum AMOVERLAYFX    {	AMOVERFX_NOFX	= 0,	AMOVERFX_MIRRORLEFTRIGHT	= 0x2,	AMOVERFX_MIRRORUPDOWN	= 0x4,	AMOVERFX_DEINTERLACE	= 0x8    } ;extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_s_ifspec;#ifndef __IAMOverlayFX_INTERFACE_DEFINED__#define __IAMOverlayFX_INTERFACE_DEFINED__/* interface IAMOverlayFX *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMOverlayFX;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("62fae250-7e65-4460-bfc9-6398b322073c")    IAMOverlayFX : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE QueryOverlayFXCaps(            /* [out] */ DWORD *lpdwOverlayFXCaps) = 0;        virtual HRESULT STDMETHODCALLTYPE SetOverlayFX(            /* [in] */ DWORD dwOverlayFX) = 0;        virtual HRESULT STDMETHODCALLTYPE GetOverlayFX(            /* [out] */ DWORD *lpdwOverlayFX) = 0;    };#else 	/* C style interface */    typedef struct IAMOverlayFXVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMOverlayFX * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMOverlayFX * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMOverlayFX * This);        HRESULT ( STDMETHODCALLTYPE *QueryOverlayFXCaps )(            IAMOverlayFX * This,            /* [out] */ DWORD *lpdwOverlayFXCaps);        HRESULT ( STDMETHODCALLTYPE *SetOverlayFX )(            IAMOverlayFX * This,            /* [in] */ DWORD dwOverlayFX);        HRESULT ( STDMETHODCALLTYPE *GetOverlayFX )(            IAMOverlayFX * This,            /* [out] */ DWORD *lpdwOverlayFX);        END_INTERFACE    } IAMOverlayFXVtbl;    interface IAMOverlayFX    {        CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMOverlayFX_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMOverlayFX_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMOverlayFX_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps)	\    (This)->lpVtbl -> QueryOverlayFXCaps(This,lpdwOverlayFXCaps)#define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX)	\    (This)->lpVtbl -> SetOverlayFX(This,dwOverlayFX)#define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX)	\    (This)->lpVtbl -> GetOverlayFX(This,lpdwOverlayFX)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMOverlayFX_QueryOverlayFXCaps_Proxy(    IAMOverlayFX * This,    /* [out] */ DWORD *lpdwOverlayFXCaps);void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMOverlayFX_SetOverlayFX_Proxy(    IAMOverlayFX * This,    /* [in] */ DWORD dwOverlayFX);void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMOverlayFX_GetOverlayFX_Proxy(    IAMOverlayFX * This,    /* [out] */ DWORD *lpdwOverlayFX);void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMOverlayFX_INTERFACE_DEFINED__ */#ifndef __IAMOpenProgress_INTERFACE_DEFINED__#define __IAMOpenProgress_INTERFACE_DEFINED__/* interface IAMOpenProgress *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMOpenProgress;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("8E1C39A1-DE53-11cf-AA63-0080C744528D")    IAMOpenProgress : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE QueryProgress(            /* [out] */ LONGLONG *pllTotal,            /* [out] */ LONGLONG *pllCurrent) = 0;        virtual HRESULT STDMETHODCALLTYPE AbortOperation( void) = 0;    };#else 	/* C style interface */    typedef struct IAMOpenProgressVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMOpenProgress * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMOpenProgress * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMOpenProgress * This);        HRESULT ( STDMETHODCALLTYPE *QueryProgress )(            IAMOpenProgress * This,            /* [out] */ LONGLONG *pllTotal,            /* [out] */ LONGLONG *pllCurrent);        HRESULT ( STDMETHODCALLTYPE *AbortOperation )(            IAMOpenProgress * This);        END_INTERFACE    } IAMOpenProgressVtbl;    interface IAMOpenProgress    {        CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMOpenProgress_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMOpenProgress_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMOpenProgress_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent)	\    (This)->lpVtbl -> QueryProgress(This,pllTotal,pllCurrent)#define IAMOpenProgress_AbortOperation(This)	\    (This)->lpVtbl -> AbortOperation(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMOpenProgress_QueryProgress_Proxy(    IAMOpenProgress * This,    /* [out] */ LONGLONG *pllTotal,    /* [out] */ LONGLONG *pllCurrent);void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMOpenProgress_AbortOperation_Proxy(    IAMOpenProgress * This);void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMOpenProgress_INTERFACE_DEFINED__ */#ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__#define __IMpeg2Demultiplexer_INTERFACE_DEFINED__/* interface IMpeg2Demultiplexer *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IMpeg2Demultiplexer;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("436eee9c-264f-4242-90e1-4e330c107512")    IMpeg2Demultiplexer : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE CreateOutputPin(            /* [in] */ AM_MEDIA_TYPE *pMediaType,            /* [in] */ LPWSTR pszPinName,            /* [out] */ IPin **ppIPin) = 0;        virtual HRESULT STDMETHODCALLTYPE SetOutputPinMediaType(            /* [in] */ LPWSTR pszPinName,            /* [in] */ AM_MEDIA_TYPE *pMediaType) = 0;        virtual HRESULT STDMETHODCALLTYPE DeleteOutputPin(            /* [in] */ LPWSTR pszPinName) = 0;    };#else 	/* C style interface */    typedef struct IMpeg2DemultiplexerVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IMpeg2Demultiplexer * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IMpeg2Demultiplexer * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IMpeg2Demultiplexer * This);        HRESULT ( STDMETHODCALLTYPE *CreateOutputPin )(            IMpeg2Demultiplexer * This,            /* [in] */ AM_MEDIA_TYPE *pMediaType,            /* [in] */ LPWSTR pszPinName,            /* [out] */ IPin **ppIPin);        HRESULT ( STDMETHODCALLTYPE *SetOutputPinMediaType )(            IMpeg2Demultiplexer * This,            /* [in] */ LPWSTR pszPinName,            /* [in] */ AM_MEDIA_TYPE *pMediaType);        HRESULT ( STDMETHODCALLTYPE *DeleteOutputPin )(            IMpeg2Demultiplexer * This,            /* [in] */ LPWSTR pszPinName);        END_INTERFACE    } IMpeg2DemultiplexerVtbl;    interface IMpeg2Demultiplexer    {        CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;    };#ifdef COBJMACROS#define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IMpeg2Demultiplexer_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IMpeg2Demultiplexer_Release(This)	\    (This)->lpVtbl -> Release(This)#define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin)	\    (This)->lpVtbl -> CreateOutputPin(This,pMediaType,pszPinName,ppIPin)#define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType)	\    (This)->lpVtbl -> SetOutputPinMediaType(This,pszPinName,pMediaType)#define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName)	\    (This)->lpVtbl -> DeleteOutputPin(This,pszPinName)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_CreateOutputPin_Proxy(    IMpeg2Demultiplexer * This,    /* [in] */ AM_MEDIA_TYPE *pMediaType,    /* [in] */ LPWSTR pszPinName,    /* [out] */ IPin **ppIPin);void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy(    IMpeg2Demultiplexer * This,    /* [in] */ LPWSTR pszPinName,    /* [in] */ AM_MEDIA_TYPE *pMediaType);void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_DeleteOutputPin_Proxy(    IMpeg2Demultiplexer * This,    /* [in] */ LPWSTR pszPinName);void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IMpeg2Demultiplexer_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0355 *//* [local] */#define MPEG2_PROGRAM_STREAM_MAP                 0x00000000#define MPEG2_PROGRAM_ELEMENTARY_STREAM          0x00000001#define MPEG2_PROGRAM_DIRECTORY_PES_PACKET       0x00000002#define MPEG2_PROGRAM_PACK_HEADER                0x00000003#define MPEG2_PROGRAM_PES_STREAM                 0x00000004#define MPEG2_PROGRAM_SYSTEM_HEADER              0x00000005#define SUBSTREAM_FILTER_VAL_NONE                0x10000000typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0355_0001    {    ULONG stream_id;    DWORD dwMediaSampleContent;    ULONG ulSubstreamFilterValue;    int iDataOffset;    } 	STREAM_ID_MAP;extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec;#ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__#define __IEnumStreamIdMap_INTERFACE_DEFINED__/* interface IEnumStreamIdMap *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IEnumStreamIdMap;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("945C1566-6202-46fc-96C7-D87F289C6534")    IEnumStreamIdMap : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Next(            /* [in] */ ULONG cRequest,            /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,            /* [out] */ ULONG *pcReceived) = 0;        virtual HRESULT STDMETHODCALLTYPE Skip(            /* [in] */ ULONG cRecords) = 0;        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Clone(            /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;    };#else 	/* C style interface */    typedef struct IEnumStreamIdMapVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IEnumStreamIdMap * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IEnumStreamIdMap * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IEnumStreamIdMap * This);        HRESULT ( STDMETHODCALLTYPE *Next )(            IEnumStreamIdMap * This,            /* [in] */ ULONG cRequest,            /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,            /* [out] */ ULONG *pcReceived);        HRESULT ( STDMETHODCALLTYPE *Skip )(            IEnumStreamIdMap * This,            /* [in] */ ULONG cRecords);        HRESULT ( STDMETHODCALLTYPE *Reset )(            IEnumStreamIdMap * This);        HRESULT ( STDMETHODCALLTYPE *Clone )(            IEnumStreamIdMap * This,            /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);        END_INTERFACE    } IEnumStreamIdMapVtbl;    interface IEnumStreamIdMap    {        CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;    };#ifdef COBJMACROS#define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IEnumStreamIdMap_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IEnumStreamIdMap_Release(This)	\    (This)->lpVtbl -> Release(This)#define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived)	\    (This)->lpVtbl -> Next(This,cRequest,pStreamIdMap,pcReceived)#define IEnumStreamIdMap_Skip(This,cRecords)	\    (This)->lpVtbl -> Skip(This,cRecords)#define IEnumStreamIdMap_Reset(This)	\    (This)->lpVtbl -> Reset(This)#define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap)	\    (This)->lpVtbl -> Clone(This,ppIEnumStreamIdMap)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Next_Proxy(    IEnumStreamIdMap * This,    /* [in] */ ULONG cRequest,    /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,    /* [out] */ ULONG *pcReceived);void __RPC_STUB IEnumStreamIdMap_Next_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Skip_Proxy(    IEnumStreamIdMap * This,    /* [in] */ ULONG cRecords);void __RPC_STUB IEnumStreamIdMap_Skip_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Reset_Proxy(    IEnumStreamIdMap * This);void __RPC_STUB IEnumStreamIdMap_Reset_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Clone_Proxy(    IEnumStreamIdMap * This,    /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);void __RPC_STUB IEnumStreamIdMap_Clone_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IEnumStreamIdMap_INTERFACE_DEFINED__ */#ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__#define __IMPEG2StreamIdMap_INTERFACE_DEFINED__/* interface IMPEG2StreamIdMap *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IMPEG2StreamIdMap;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("D0E04C47-25B8-4369-925A-362A01D95444")    IMPEG2StreamIdMap : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE MapStreamId(            /* [in] */ ULONG ulStreamId,            /* [in] */ DWORD MediaSampleContent,            /* [in] */ ULONG ulSubstreamFilterValue,            /* [in] */ int iDataOffset) = 0;        virtual HRESULT STDMETHODCALLTYPE UnmapStreamId(            /* [in] */ ULONG culStreamId,            /* [in] */ ULONG *pulStreamId) = 0;        virtual HRESULT STDMETHODCALLTYPE EnumStreamIdMap(            /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;    };#else 	/* C style interface */    typedef struct IMPEG2StreamIdMapVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IMPEG2StreamIdMap * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IMPEG2StreamIdMap * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IMPEG2StreamIdMap * This);        HRESULT ( STDMETHODCALLTYPE *MapStreamId )(            IMPEG2StreamIdMap * This,            /* [in] */ ULONG ulStreamId,            /* [in] */ DWORD MediaSampleContent,            /* [in] */ ULONG ulSubstreamFilterValue,            /* [in] */ int iDataOffset);        HRESULT ( STDMETHODCALLTYPE *UnmapStreamId )(            IMPEG2StreamIdMap * This,            /* [in] */ ULONG culStreamId,            /* [in] */ ULONG *pulStreamId);        HRESULT ( STDMETHODCALLTYPE *EnumStreamIdMap )(            IMPEG2StreamIdMap * This,            /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);        END_INTERFACE    } IMPEG2StreamIdMapVtbl;    interface IMPEG2StreamIdMap    {        CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;    };#ifdef COBJMACROS#define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IMPEG2StreamIdMap_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IMPEG2StreamIdMap_Release(This)	\    (This)->lpVtbl -> Release(This)#define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)	\    (This)->lpVtbl -> MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)#define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId)	\    (This)->lpVtbl -> UnmapStreamId(This,culStreamId,pulStreamId)#define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap)	\    (This)->lpVtbl -> EnumStreamIdMap(This,ppIEnumStreamIdMap)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_MapStreamId_Proxy(    IMPEG2StreamIdMap * This,    /* [in] */ ULONG ulStreamId,    /* [in] */ DWORD MediaSampleContent,    /* [in] */ ULONG ulSubstreamFilterValue,    /* [in] */ int iDataOffset);void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_UnmapStreamId_Proxy(    IMPEG2StreamIdMap * This,    /* [in] */ ULONG culStreamId,    /* [in] */ ULONG *pulStreamId);void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_EnumStreamIdMap_Proxy(    IMPEG2StreamIdMap * This,    /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IMPEG2StreamIdMap_INTERFACE_DEFINED__ */#ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__#define __IRegisterServiceProvider_INTERFACE_DEFINED__/* interface IRegisterServiceProvider *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IRegisterServiceProvider;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("7B3A2F01-0751-48DD-B556-004785171C54")    IRegisterServiceProvider : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE RegisterService(            /* [in] */ REFGUID guidService,            /* [in] */ IUnknown *pUnkObject) = 0;    };#else 	/* C style interface */    typedef struct IRegisterServiceProviderVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IRegisterServiceProvider * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IRegisterServiceProvider * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IRegisterServiceProvider * This);        HRESULT ( STDMETHODCALLTYPE *RegisterService )(            IRegisterServiceProvider * This,            /* [in] */ REFGUID guidService,            /* [in] */ IUnknown *pUnkObject);        END_INTERFACE    } IRegisterServiceProviderVtbl;    interface IRegisterServiceProvider    {        CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl;    };#ifdef COBJMACROS#define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IRegisterServiceProvider_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IRegisterServiceProvider_Release(This)	\    (This)->lpVtbl -> Release(This)#define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject)	\    (This)->lpVtbl -> RegisterService(This,guidService,pUnkObject)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IRegisterServiceProvider_RegisterService_Proxy(    IRegisterServiceProvider * This,    /* [in] */ REFGUID guidService,    /* [in] */ IUnknown *pUnkObject);void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IRegisterServiceProvider_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0358 *//* [local] */#define AM_GETDECODERCAP_QUERY_VMR_SUPPORT   0x00000001#define      VMR_NOTSUPPORTED                0x00000000#define      VMR_SUPPORTED                   0x00000001#define AM_QUERY_DECODER_VMR_SUPPORT         0x00000001#define AM_QUERY_DECODER_DXVA_1_SUPPORT      0x00000002#define AM_QUERY_DECODER_DVD_SUPPORT         0x00000003#define AM_QUERY_DECODER_ATSC_SD_SUPPORT     0x00000004#define AM_QUERY_DECODER_ATSC_HD_SUPPORT     0x00000005#define      DECODER_CAP_NOTSUPPORTED        0x00000000#define      DECODER_CAP_SUPPORTED           0x00000001extern RPC_IF_HANDLE __MIDL_itf_strmif_0358_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0358_v0_0_s_ifspec;#ifndef __IAMDecoderCaps_INTERFACE_DEFINED__#define __IAMDecoderCaps_INTERFACE_DEFINED__/* interface IAMDecoderCaps *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IAMDecoderCaps;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("c0dff467-d499-4986-972b-e1d9090fa941")    IAMDecoderCaps : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps(            /* [in] */ DWORD dwCapIndex,            /* [out] */ DWORD *lpdwCap) = 0;    };#else 	/* C style interface */    typedef struct IAMDecoderCapsVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMDecoderCaps * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMDecoderCaps * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMDecoderCaps * This);        HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )(            IAMDecoderCaps * This,            /* [in] */ DWORD dwCapIndex,            /* [out] */ DWORD *lpdwCap);        END_INTERFACE    } IAMDecoderCapsVtbl;    interface IAMDecoderCaps    {        CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMDecoderCaps_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMDecoderCaps_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMDecoderCaps_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap)	\    (This)->lpVtbl -> GetDecoderCaps(This,dwCapIndex,lpdwCap)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMDecoderCaps_GetDecoderCaps_Proxy(    IAMDecoderCaps * This,    /* [in] */ DWORD dwCapIndex,    /* [out] */ DWORD *lpdwCap);void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMDecoderCaps_INTERFACE_DEFINED__ */#ifndef __IAMClockSlave_INTERFACE_DEFINED__#define __IAMClockSlave_INTERFACE_DEFINED__/* interface IAMClockSlave *//* [unique][uuid][object] */EXTERN_C const IID IID_IAMClockSlave;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("9FD52741-176D-4b36-8F51-CA8F933223BE")    IAMClockSlave : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance(            /* [in] */ DWORD dwTolerance) = 0;        virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance(            /* [out] */ DWORD *pdwTolerance) = 0;    };#else 	/* C style interface */    typedef struct IAMClockSlaveVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IAMClockSlave * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IAMClockSlave * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IAMClockSlave * This);        HRESULT ( STDMETHODCALLTYPE *SetErrorTolerance )(            IAMClockSlave * This,            /* [in] */ DWORD dwTolerance);        HRESULT ( STDMETHODCALLTYPE *GetErrorTolerance )(            IAMClockSlave * This,            /* [out] */ DWORD *pdwTolerance);        END_INTERFACE    } IAMClockSlaveVtbl;    interface IAMClockSlave    {        CONST_VTBL struct IAMClockSlaveVtbl *lpVtbl;    };#ifdef COBJMACROS#define IAMClockSlave_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IAMClockSlave_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IAMClockSlave_Release(This)	\    (This)->lpVtbl -> Release(This)#define IAMClockSlave_SetErrorTolerance(This,dwTolerance)	\    (This)->lpVtbl -> SetErrorTolerance(This,dwTolerance)#define IAMClockSlave_GetErrorTolerance(This,pdwTolerance)	\    (This)->lpVtbl -> GetErrorTolerance(This,pdwTolerance)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IAMClockSlave_SetErrorTolerance_Proxy(    IAMClockSlave * This,    /* [in] */ DWORD dwTolerance);void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IAMClockSlave_GetErrorTolerance_Proxy(    IAMClockSlave * This,    /* [out] */ DWORD *pdwTolerance);void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IAMClockSlave_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0360 *//* [local] */#include <ddraw.h>typedefenum tagDVD_DOMAIN    {	DVD_DOMAIN_FirstPlay	= 1,	DVD_DOMAIN_VideoManagerMenu	= DVD_DOMAIN_FirstPlay + 1,	DVD_DOMAIN_VideoTitleSetMenu	= DVD_DOMAIN_VideoManagerMenu + 1,	DVD_DOMAIN_Title	= DVD_DOMAIN_VideoTitleSetMenu + 1,	DVD_DOMAIN_Stop	= DVD_DOMAIN_Title + 1    } 	DVD_DOMAIN;typedefenum tagDVD_MENU_ID    {	DVD_MENU_Title	= 2,	DVD_MENU_Root	= 3,	DVD_MENU_Subpicture	= 4,	DVD_MENU_Audio	= 5,	DVD_MENU_Angle	= 6,	DVD_MENU_Chapter	= 7    } 	DVD_MENU_ID;typedefenum tagDVD_DISC_SIDE    {	DVD_SIDE_A	= 1,	DVD_SIDE_B	= 2    } 	DVD_DISC_SIDE;typedefenum tagDVD_PREFERRED_DISPLAY_MODE    {	DISPLAY_CONTENT_DEFAULT	= 0,	DISPLAY_16x9	= 1,	DISPLAY_4x3_PANSCAN_PREFERRED	= 2,	DISPLAY_4x3_LETTERBOX_PREFERRED	= 3    } 	DVD_PREFERRED_DISPLAY_MODE;typedef WORD DVD_REGISTER;typedef DVD_REGISTER GPRMARRAY[ 16 ];typedef DVD_REGISTER SPRMARRAY[ 24 ];typedef struct tagDVD_ATR    {    ULONG ulCAT;    BYTE pbATRI[ 768 ];    } 	DVD_ATR;typedef BYTE DVD_VideoATR[ 2 ];typedef BYTE DVD_AudioATR[ 8 ];typedef BYTE DVD_SubpictureATR[ 6 ];typedefenum tagDVD_FRAMERATE    {	DVD_FPS_25	= 1,	DVD_FPS_30NonDrop	= 3    } 	DVD_FRAMERATE;typedef struct tagDVD_TIMECODE{   ULONG Hours1    :4; // Hours   ULONG Hours10  :4; // Tens of Hours   ULONG Minutes1  :4; // Minutes   ULONG Minutes10:4; // Tens of Minutes   ULONG Seconds1  :4; // Seconds   ULONG Seconds10:4; // Tens of Seconds   ULONG Frames1   :4; // Frames   ULONG Frames10 :2; // Tens of Frames   ULONG FrameRateCode: 2; // use DVD_FRAMERATE to indicate frames/sec and drop/non-drop} DVD_TIMECODE;typedefenum tagDVD_TIMECODE_FLAGS    {	DVD_TC_FLAG_25fps	= 0x1,	DVD_TC_FLAG_30fps	= 0x2,	DVD_TC_FLAG_DropFrame	= 0x4,	DVD_TC_FLAG_Interpolated	= 0x8    } 	DVD_TIMECODE_FLAGS;typedef struct tagDVD_HMSF_TIMECODE    {    BYTE bHours;    BYTE bMinutes;    BYTE bSeconds;    BYTE bFrames;    } 	DVD_HMSF_TIMECODE;typedef struct tagDVD_PLAYBACK_LOCATION2    {    ULONG TitleNum;    ULONG ChapterNum;    DVD_HMSF_TIMECODE TimeCode;    ULONG TimeCodeFlags;    } 	DVD_PLAYBACK_LOCATION2;typedef struct tagDVD_PLAYBACK_LOCATION    {    ULONG TitleNum;    ULONG ChapterNum;    ULONG TimeCode;    } 	DVD_PLAYBACK_LOCATION;typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0360_0001    {	UOP_FLAG_Play_Title_Or_AtTime	= 0x1,	UOP_FLAG_Play_Chapter	= 0x2,	UOP_FLAG_Play_Title	= 0x4,	UOP_FLAG_Stop	= 0x8,	UOP_FLAG_ReturnFromSubMenu	= 0x10,	UOP_FLAG_Play_Chapter_Or_AtTime	= 0x20,	UOP_FLAG_PlayPrev_Or_Replay_Chapter	= 0x40,	UOP_FLAG_PlayNext_Chapter	= 0x80,	UOP_FLAG_Play_Forwards	= 0x100,	UOP_FLAG_Play_Backwards	= 0x200,	UOP_FLAG_ShowMenu_Title	= 0x400,	UOP_FLAG_ShowMenu_Root	= 0x800,	UOP_FLAG_ShowMenu_SubPic	= 0x1000,	UOP_FLAG_ShowMenu_Audio	= 0x2000,	UOP_FLAG_ShowMenu_Angle	= 0x4000,	UOP_FLAG_ShowMenu_Chapter	= 0x8000,	UOP_FLAG_Resume	= 0x10000,	UOP_FLAG_Select_Or_Activate_Button	= 0x20000,	UOP_FLAG_Still_Off	= 0x40000,	UOP_FLAG_Pause_On	= 0x80000,	UOP_FLAG_Select_Audio_Stream	= 0x100000,	UOP_FLAG_Select_SubPic_Stream	= 0x200000,	UOP_FLAG_Select_Angle	= 0x400000,	UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode	= 0x800000,	UOP_FLAG_Select_Video_Mode_Preference	= 0x1000000    } 	VALID_UOP_FLAG;typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0360_0002    {	DVD_CMD_FLAG_None	= 0,	DVD_CMD_FLAG_Flush	= 0x1,	DVD_CMD_FLAG_SendEvents	= 0x2,	DVD_CMD_FLAG_Block	= 0x4,	DVD_CMD_FLAG_StartWhenRendered	= 0x8,	DVD_CMD_FLAG_EndAfterRendered	= 0x10    } 	DVD_CMD_FLAGS;typedef /* [public][public] */enum __MIDL___MIDL_itf_strmif_0360_0003    {	DVD_ResetOnStop	= 1,	DVD_NotifyParentalLevelChange	= 2,	DVD_HMSF_TimeCodeEvents	= 3    } 	DVD_OPTION_FLAG;typedef /* [public][public] */enum __MIDL___MIDL_itf_strmif_0360_0004    {	DVD_Relative_Upper	= 1,	DVD_Relative_Lower	= 2,	DVD_Relative_Left	= 3,	DVD_Relative_Right	= 4    } 	DVD_RELATIVE_BUTTON;typedefenum tagDVD_PARENTAL_LEVEL    {	DVD_PARENTAL_LEVEL_8	= 0x8000,	DVD_PARENTAL_LEVEL_7	= 0x4000,	DVD_PARENTAL_LEVEL_6	= 0x2000,	DVD_PARENTAL_LEVEL_5	= 0x1000,	DVD_PARENTAL_LEVEL_4	= 0x800,	DVD_PARENTAL_LEVEL_3	= 0x400,	DVD_PARENTAL_LEVEL_2	= 0x200,	DVD_PARENTAL_LEVEL_1	= 0x100    } 	DVD_PARENTAL_LEVEL;typedefenum tagDVD_AUDIO_LANG_EXT    {	DVD_AUD_EXT_NotSpecified	= 0,	DVD_AUD_EXT_Captions	= 1,	DVD_AUD_EXT_VisuallyImpaired	= 2,	DVD_AUD_EXT_DirectorComments1	= 3,	DVD_AUD_EXT_DirectorComments2	= 4    } 	DVD_AUDIO_LANG_EXT;typedefenum tagDVD_SUBPICTURE_LANG_EXT    {	DVD_SP_EXT_NotSpecified	= 0,	DVD_SP_EXT_Caption_Normal	= 1,	DVD_SP_EXT_Caption_Big	= 2,	DVD_SP_EXT_Caption_Children	= 3,	DVD_SP_EXT_CC_Normal	= 5,	DVD_SP_EXT_CC_Big	= 6,	DVD_SP_EXT_CC_Children	= 7,	DVD_SP_EXT_Forced	= 9,	DVD_SP_EXT_DirectorComments_Normal	= 13,	DVD_SP_EXT_DirectorComments_Big	= 14,	DVD_SP_EXT_DirectorComments_Children	= 15    } 	DVD_SUBPICTURE_LANG_EXT;typedefenum tagDVD_AUDIO_APPMODE    {	DVD_AudioMode_None	= 0,	DVD_AudioMode_Karaoke	= 1,	DVD_AudioMode_Surround	= 2,	DVD_AudioMode_Other	= 3    } 	DVD_AUDIO_APPMODE;typedefenum tagDVD_AUDIO_FORMAT    {	DVD_AudioFormat_AC3	= 0,	DVD_AudioFormat_MPEG1	= 1,	DVD_AudioFormat_MPEG1_DRC	= 2,	DVD_AudioFormat_MPEG2	= 3,	DVD_AudioFormat_MPEG2_DRC	= 4,	DVD_AudioFormat_LPCM	= 5,	DVD_AudioFormat_DTS	= 6,	DVD_AudioFormat_SDDS	= 7,	DVD_AudioFormat_Other	= 8    } 	DVD_AUDIO_FORMAT;typedefenum tagDVD_KARAOKE_DOWNMIX    {	DVD_Mix_0to0	= 0x1,	DVD_Mix_1to0	= 0x2,	DVD_Mix_2to0	= 0x4,	DVD_Mix_3to0	= 0x8,	DVD_Mix_4to0	= 0x10,	DVD_Mix_Lto0	= 0x20,	DVD_Mix_Rto0	= 0x40,	DVD_Mix_0to1	= 0x100,	DVD_Mix_1to1	= 0x200,	DVD_Mix_2to1	= 0x400,	DVD_Mix_3to1	= 0x800,	DVD_Mix_4to1	= 0x1000,	DVD_Mix_Lto1	= 0x2000,	DVD_Mix_Rto1	= 0x4000    } 	DVD_KARAOKE_DOWNMIX;typedef struct tagDVD_AudioAttributes    {    DVD_AUDIO_APPMODE AppMode;    BYTE AppModeData;    DVD_AUDIO_FORMAT AudioFormat;    LCID Language;    DVD_AUDIO_LANG_EXT LanguageExtension;    BOOL fHasMultichannelInfo;    DWORD dwFrequency;    BYTE bQuantization;    BYTE bNumberOfChannels;    DWORD dwReserved[ 2 ];    } 	DVD_AudioAttributes;typedef struct tagDVD_MUA_MixingInfo    {    BOOL fMixTo0;    BOOL fMixTo1;    BOOL fMix0InPhase;    BOOL fMix1InPhase;    DWORD dwSpeakerPosition;    } 	DVD_MUA_MixingInfo;typedef struct tagDVD_MUA_Coeff    {    double log2_alpha;    double log2_beta;    } 	DVD_MUA_Coeff;typedef struct tagDVD_MultichannelAudioAttributes    {    DVD_MUA_MixingInfo Info[ 8 ];    DVD_MUA_Coeff Coeff[ 8 ];    } 	DVD_MultichannelAudioAttributes;typedefenum tagDVD_KARAOKE_CONTENTS    {	DVD_Karaoke_GuideVocal1	= 0x1,	DVD_Karaoke_GuideVocal2	= 0x2,	DVD_Karaoke_GuideMelody1	= 0x4,	DVD_Karaoke_GuideMelody2	= 0x8,	DVD_Karaoke_GuideMelodyA	= 0x10,	DVD_Karaoke_GuideMelodyB	= 0x20,	DVD_Karaoke_SoundEffectA	= 0x40,	DVD_Karaoke_SoundEffectB	= 0x80    } 	DVD_KARAOKE_CONTENTS;typedefenum tagDVD_KARAOKE_ASSIGNMENT    {	DVD_Assignment_reserved0	= 0,	DVD_Assignment_reserved1	= 1,	DVD_Assignment_LR	= 2,	DVD_Assignment_LRM	= 3,	DVD_Assignment_LR1	= 4,	DVD_Assignment_LRM1	= 5,	DVD_Assignment_LR12	= 6,	DVD_Assignment_LRM12	= 7    } 	DVD_KARAOKE_ASSIGNMENT;typedef struct tagDVD_KaraokeAttributes    {    BYTE bVersion;    BOOL fMasterOfCeremoniesInGuideVocal1;    BOOL fDuet;    DVD_KARAOKE_ASSIGNMENT ChannelAssignment;    WORD wChannelContents[ 8 ];    } 	DVD_KaraokeAttributes;typedefenum tagDVD_VIDEO_COMPRESSION    {	DVD_VideoCompression_Other	= 0,	DVD_VideoCompression_MPEG1	= 1,	DVD_VideoCompression_MPEG2	= 2    } 	DVD_VIDEO_COMPRESSION;typedef struct tagDVD_VideoAttributes    {    BOOL fPanscanPermitted;    BOOL fLetterboxPermitted;    ULONG ulAspectX;    ULONG ulAspectY;    ULONG ulFrameRate;    ULONG ulFrameHeight;    DVD_VIDEO_COMPRESSION Compression;    BOOL fLine21Field1InGOP;    BOOL fLine21Field2InGOP;    ULONG ulSourceResolutionX;    ULONG ulSourceResolutionY;    BOOL fIsSourceLetterboxed;    BOOL fIsFilmMode;    } 	DVD_VideoAttributes;typedefenum tagDVD_SUBPICTURE_TYPE    {	DVD_SPType_NotSpecified	= 0,	DVD_SPType_Language	= 1,	DVD_SPType_Other	= 2    } 	DVD_SUBPICTURE_TYPE;typedefenum tagDVD_SUBPICTURE_CODING    {	DVD_SPCoding_RunLength	= 0,	DVD_SPCoding_Extended	= 1,	DVD_SPCoding_Other	= 2    } 	DVD_SUBPICTURE_CODING;typedef struct tagDVD_SubpictureAttributes    {    DVD_SUBPICTURE_TYPE Type;    DVD_SUBPICTURE_CODING CodingMode;    LCID Language;    DVD_SUBPICTURE_LANG_EXT LanguageExtension;    } 	DVD_SubpictureAttributes;typedefenum tagDVD_TITLE_APPMODE    {	DVD_AppMode_Not_Specified	= 0,	DVD_AppMode_Karaoke	= 1,	DVD_AppMode_Other	= 3    } 	DVD_TITLE_APPMODE;typedef struct tagDVD_TitleMainAttributes    {    DVD_TITLE_APPMODE AppMode;    DVD_VideoAttributes VideoAttributes;    ULONG ulNumberOfAudioStreams;    DVD_AudioAttributes AudioAttributes[ 8 ];    DVD_MultichannelAudioAttributes MultichannelAudioAttributes[ 8 ];    ULONG ulNumberOfSubpictureStreams;    DVD_SubpictureAttributes SubpictureAttributes[ 32 ];    } 	DVD_TitleAttributes;typedef struct tagDVD_MenuAttributes    {    BOOL fCompatibleRegion[ 8 ];    DVD_VideoAttributes VideoAttributes;    BOOL fAudioPresent;    DVD_AudioAttributes AudioAttributes;    BOOL fSubpicturePresent;    DVD_SubpictureAttributes SubpictureAttributes;    } 	DVD_MenuAttributes;extern RPC_IF_HANDLE __MIDL_itf_strmif_0360_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0360_v0_0_s_ifspec;#ifndef __IDvdControl_INTERFACE_DEFINED__#define __IDvdControl_INTERFACE_DEFINED__/* interface IDvdControl *//* [unique][uuid][object] */EXTERN_C const IID IID_IDvdControl;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("A70EFE61-E2A3-11d0-A9BE-00AA0061BE93")    IDvdControl : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE TitlePlay(            /* [in] */ ULONG ulTitle) = 0;        virtual HRESULT STDMETHODCALLTYPE ChapterPlay(            /* [in] */ ULONG ulTitle,            /* [in] */ ULONG ulChapter) = 0;        virtual HRESULT STDMETHODCALLTYPE TimePlay(            /* [in] */ ULONG ulTitle,            /* [in] */ ULONG bcdTime) = 0;        virtual HRESULT STDMETHODCALLTYPE StopForResume( void) = 0;        virtual HRESULT STDMETHODCALLTYPE GoUp( void) = 0;        virtual HRESULT STDMETHODCALLTYPE TimeSearch(            /* [in] */ ULONG bcdTime) = 0;        virtual HRESULT STDMETHODCALLTYPE ChapterSearch(            /* [in] */ ULONG ulChapter) = 0;        virtual HRESULT STDMETHODCALLTYPE PrevPGSearch( void) = 0;        virtual HRESULT STDMETHODCALLTYPE TopPGSearch( void) = 0;        virtual HRESULT STDMETHODCALLTYPE NextPGSearch( void) = 0;        virtual HRESULT STDMETHODCALLTYPE ForwardScan(            /* [in] */ double dwSpeed) = 0;        virtual HRESULT STDMETHODCALLTYPE BackwardScan(            /* [in] */ double dwSpeed) = 0;        virtual HRESULT STDMETHODCALLTYPE MenuCall(            /* [in] */ DVD_MENU_ID MenuID) = 0;        virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;        virtual HRESULT STDMETHODCALLTYPE UpperButtonSelect( void) = 0;        virtual HRESULT STDMETHODCALLTYPE LowerButtonSelect( void) = 0;        virtual HRESULT STDMETHODCALLTYPE LeftButtonSelect( void) = 0;        virtual HRESULT STDMETHODCALLTYPE RightButtonSelect( void) = 0;        virtual HRESULT STDMETHODCALLTYPE ButtonActivate( void) = 0;        virtual HRESULT STDMETHODCALLTYPE ButtonSelectAndActivate(            /* [in] */ ULONG ulButton) = 0;        virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;        virtual HRESULT STDMETHODCALLTYPE PauseOn( void) = 0;        virtual HRESULT STDMETHODCALLTYPE PauseOff( void) = 0;        virtual HRESULT STDMETHODCALLTYPE MenuLanguageSelect(            /* [in] */ LCID Language) = 0;        virtual HRESULT STDMETHODCALLTYPE AudioStreamChange(            /* [in] */ ULONG ulAudio) = 0;        virtual HRESULT STDMETHODCALLTYPE SubpictureStreamChange(            /* [in] */ ULONG ulSubPicture,            /* [in] */ BOOL bDisplay) = 0;        virtual HRESULT STDMETHODCALLTYPE AngleChange(            /* [in] */ ULONG ulAngle) = 0;        virtual HRESULT STDMETHODCALLTYPE ParentalLevelSelect(            /* [in] */ ULONG ulParentalLevel) = 0;        virtual HRESULT STDMETHODCALLTYPE ParentalCountrySelect(            /* [in] */ WORD wCountry) = 0;        virtual HRESULT STDMETHODCALLTYPE KaraokeAudioPresentationModeChange(            /* [in] */ ULONG ulMode) = 0;        virtual HRESULT STDMETHODCALLTYPE VideoModePreferrence(            /* [in] */ ULONG ulPreferredDisplayMode) = 0;        virtual HRESULT STDMETHODCALLTYPE SetRoot(            /* [in] */ LPCWSTR pszPath) = 0;        virtual HRESULT STDMETHODCALLTYPE MouseActivate(            /* [in] */ POINT point) = 0;        virtual HRESULT STDMETHODCALLTYPE MouseSelect(            /* [in] */ POINT point) = 0;        virtual HRESULT STDMETHODCALLTYPE ChapterPlayAutoStop(            /* [in] */ ULONG ulTitle,            /* [in] */ ULONG ulChapter,            /* [in] */ ULONG ulChaptersToPlay) = 0;    };#else 	/* C style interface */    typedef struct IDvdControlVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDvdControl * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDvdControl * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *TitlePlay )(            IDvdControl * This,            /* [in] */ ULONG ulTitle);        HRESULT ( STDMETHODCALLTYPE *ChapterPlay )(            IDvdControl * This,            /* [in] */ ULONG ulTitle,            /* [in] */ ULONG ulChapter);        HRESULT ( STDMETHODCALLTYPE *TimePlay )(            IDvdControl * This,            /* [in] */ ULONG ulTitle,            /* [in] */ ULONG bcdTime);        HRESULT ( STDMETHODCALLTYPE *StopForResume )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *GoUp )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *TimeSearch )(            IDvdControl * This,            /* [in] */ ULONG bcdTime);        HRESULT ( STDMETHODCALLTYPE *ChapterSearch )(            IDvdControl * This,            /* [in] */ ULONG ulChapter);        HRESULT ( STDMETHODCALLTYPE *PrevPGSearch )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *TopPGSearch )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *NextPGSearch )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *ForwardScan )(            IDvdControl * This,            /* [in] */ double dwSpeed);        HRESULT ( STDMETHODCALLTYPE *BackwardScan )(            IDvdControl * This,            /* [in] */ double dwSpeed);        HRESULT ( STDMETHODCALLTYPE *MenuCall )(            IDvdControl * This,            /* [in] */ DVD_MENU_ID MenuID);        HRESULT ( STDMETHODCALLTYPE *Resume )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *UpperButtonSelect )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *LowerButtonSelect )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *LeftButtonSelect )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *RightButtonSelect )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *ButtonActivate )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *ButtonSelectAndActivate )(            IDvdControl * This,            /* [in] */ ULONG ulButton);        HRESULT ( STDMETHODCALLTYPE *StillOff )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *PauseOn )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *PauseOff )(            IDvdControl * This);        HRESULT ( STDMETHODCALLTYPE *MenuLanguageSelect )(            IDvdControl * This,            /* [in] */ LCID Language);        HRESULT ( STDMETHODCALLTYPE *AudioStreamChange )(            IDvdControl * This,            /* [in] */ ULONG ulAudio);        HRESULT ( STDMETHODCALLTYPE *SubpictureStreamChange )(            IDvdControl * This,            /* [in] */ ULONG ulSubPicture,            /* [in] */ BOOL bDisplay);        HRESULT ( STDMETHODCALLTYPE *AngleChange )(            IDvdControl * This,            /* [in] */ ULONG ulAngle);        HRESULT ( STDMETHODCALLTYPE *ParentalLevelSelect )(            IDvdControl * This,            /* [in] */ ULONG ulParentalLevel);        HRESULT ( STDMETHODCALLTYPE *ParentalCountrySelect )(            IDvdControl * This,            /* [in] */ WORD wCountry);        HRESULT ( STDMETHODCALLTYPE *KaraokeAudioPresentationModeChange )(            IDvdControl * This,            /* [in] */ ULONG ulMode);        HRESULT ( STDMETHODCALLTYPE *VideoModePreferrence )(            IDvdControl * This,            /* [in] */ ULONG ulPreferredDisplayMode);        HRESULT ( STDMETHODCALLTYPE *SetRoot )(            IDvdControl * This,            /* [in] */ LPCWSTR pszPath);        HRESULT ( STDMETHODCALLTYPE *MouseActivate )(            IDvdControl * This,            /* [in] */ POINT point);        HRESULT ( STDMETHODCALLTYPE *MouseSelect )(            IDvdControl * This,            /* [in] */ POINT point);        HRESULT ( STDMETHODCALLTYPE *ChapterPlayAutoStop )(            IDvdControl * This,            /* [in] */ ULONG ulTitle,            /* [in] */ ULONG ulChapter,            /* [in] */ ULONG ulChaptersToPlay);        END_INTERFACE    } IDvdControlVtbl;    interface IDvdControl    {        CONST_VTBL struct IDvdControlVtbl *lpVtbl;    };#ifdef COBJMACROS#define IDvdControl_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDvdControl_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDvdControl_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDvdControl_TitlePlay(This,ulTitle)	\    (This)->lpVtbl -> TitlePlay(This,ulTitle)#define IDvdControl_ChapterPlay(This,ulTitle,ulChapter)	\    (This)->lpVtbl -> ChapterPlay(This,ulTitle,ulChapter)#define IDvdControl_TimePlay(This,ulTitle,bcdTime)	\    (This)->lpVtbl -> TimePlay(This,ulTitle,bcdTime)#define IDvdControl_StopForResume(This)	\    (This)->lpVtbl -> StopForResume(This)#define IDvdControl_GoUp(This)	\    (This)->lpVtbl -> GoUp(This)#define IDvdControl_TimeSearch(This,bcdTime)	\    (This)->lpVtbl -> TimeSearch(This,bcdTime)#define IDvdControl_ChapterSearch(This,ulChapter)	\    (This)->lpVtbl -> ChapterSearch(This,ulChapter)#define IDvdControl_PrevPGSearch(This)	\    (This)->lpVtbl -> PrevPGSearch(This)#define IDvdControl_TopPGSearch(This)	\    (This)->lpVtbl -> TopPGSearch(This)#define IDvdControl_NextPGSearch(This)	\    (This)->lpVtbl -> NextPGSearch(This)#define IDvdControl_ForwardScan(This,dwSpeed)	\    (This)->lpVtbl -> ForwardScan(This,dwSpeed)#define IDvdControl_BackwardScan(This,dwSpeed)	\    (This)->lpVtbl -> BackwardScan(This,dwSpeed)#define IDvdControl_MenuCall(This,MenuID)	\    (This)->lpVtbl -> MenuCall(This,MenuID)#define IDvdControl_Resume(This)	\    (This)->lpVtbl -> Resume(This)#define IDvdControl_UpperButtonSelect(This)	\    (This)->lpVtbl -> UpperButtonSelect(This)#define IDvdControl_LowerButtonSelect(This)	\    (This)->lpVtbl -> LowerButtonSelect(This)#define IDvdControl_LeftButtonSelect(This)	\    (This)->lpVtbl -> LeftButtonSelect(This)#define IDvdControl_RightButtonSelect(This)	\    (This)->lpVtbl -> RightButtonSelect(This)#define IDvdControl_ButtonActivate(This)	\    (This)->lpVtbl -> ButtonActivate(This)#define IDvdControl_ButtonSelectAndActivate(This,ulButton)	\    (This)->lpVtbl -> ButtonSelectAndActivate(This,ulButton)#define IDvdControl_StillOff(This)	\    (This)->lpVtbl -> StillOff(This)#define IDvdControl_PauseOn(This)	\    (This)->lpVtbl -> PauseOn(This)#define IDvdControl_PauseOff(This)	\    (This)->lpVtbl -> PauseOff(This)#define IDvdControl_MenuLanguageSelect(This,Language)	\    (This)->lpVtbl -> MenuLanguageSelect(This,Language)#define IDvdControl_AudioStreamChange(This,ulAudio)	\    (This)->lpVtbl -> AudioStreamChange(This,ulAudio)#define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay)	\    (This)->lpVtbl -> SubpictureStreamChange(This,ulSubPicture,bDisplay)#define IDvdControl_AngleChange(This,ulAngle)	\    (This)->lpVtbl -> AngleChange(This,ulAngle)#define IDvdControl_ParentalLevelSelect(This,ulParentalLevel)	\    (This)->lpVtbl -> ParentalLevelSelect(This,ulParentalLevel)#define IDvdControl_ParentalCountrySelect(This,wCountry)	\    (This)->lpVtbl -> ParentalCountrySelect(This,wCountry)#define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode)	\    (This)->lpVtbl -> KaraokeAudioPresentationModeChange(This,ulMode)#define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode)	\    (This)->lpVtbl -> VideoModePreferrence(This,ulPreferredDisplayMode)#define IDvdControl_SetRoot(This,pszPath)	\    (This)->lpVtbl -> SetRoot(This,pszPath)#define IDvdControl_MouseActivate(This,point)	\    (This)->lpVtbl -> MouseActivate(This,point)#define IDvdControl_MouseSelect(This,point)	\    (This)->lpVtbl -> MouseSelect(This,point)#define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)	\    (This)->lpVtbl -> ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDvdControl_TitlePlay_Proxy(    IDvdControl * This,    /* [in] */ ULONG ulTitle);void __RPC_STUB IDvdControl_TitlePlay_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlay_Proxy(    IDvdControl * This,    /* [in] */ ULONG ulTitle,    /* [in] */ ULONG ulChapter);void __RPC_STUB IDvdControl_ChapterPlay_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_TimePlay_Proxy(    IDvdControl * This,    /* [in] */ ULONG ulTitle,    /* [in] */ ULONG bcdTime);void __RPC_STUB IDvdControl_TimePlay_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_StopForResume_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_StopForResume_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_GoUp_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_GoUp_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_TimeSearch_Proxy(    IDvdControl * This,    /* [in] */ ULONG bcdTime);void __RPC_STUB IDvdControl_TimeSearch_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_ChapterSearch_Proxy(    IDvdControl * This,    /* [in] */ ULONG ulChapter);void __RPC_STUB IDvdControl_ChapterSearch_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_PrevPGSearch_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_PrevPGSearch_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_TopPGSearch_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_TopPGSearch_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_NextPGSearch_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_NextPGSearch_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_ForwardScan_Proxy(    IDvdControl * This,    /* [in] */ double dwSpeed);void __RPC_STUB IDvdControl_ForwardScan_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_BackwardScan_Proxy(    IDvdControl * This,    /* [in] */ double dwSpeed);void __RPC_STUB IDvdControl_BackwardScan_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_MenuCall_Proxy(    IDvdControl * This,    /* [in] */ DVD_MENU_ID MenuID);void __RPC_STUB IDvdControl_MenuCall_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_Resume_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_Resume_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_UpperButtonSelect_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_LowerButtonSelect_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_LeftButtonSelect_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_RightButtonSelect_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_RightButtonSelect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_ButtonActivate_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_ButtonActivate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_ButtonSelectAndActivate_Proxy(    IDvdControl * This,    /* [in] */ ULONG ulButton);void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_StillOff_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_StillOff_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_PauseOn_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_PauseOn_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_PauseOff_Proxy(    IDvdControl * This);void __RPC_STUB IDvdControl_PauseOff_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_MenuLanguageSelect_Proxy(    IDvdControl * This,    /* [in] */ LCID Language);void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_AudioStreamChange_Proxy(    IDvdControl * This,    /* [in] */ ULONG ulAudio);void __RPC_STUB IDvdControl_AudioStreamChange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_SubpictureStreamChange_Proxy(    IDvdControl * This,    /* [in] */ ULONG ulSubPicture,    /* [in] */ BOOL bDisplay);void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_AngleChange_Proxy(    IDvdControl * This,    /* [in] */ ULONG ulAngle);void __RPC_STUB IDvdControl_AngleChange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_ParentalLevelSelect_Proxy(    IDvdControl * This,    /* [in] */ ULONG ulParentalLevel);void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_ParentalCountrySelect_Proxy(    IDvdControl * This,    /* [in] */ WORD wCountry);void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_KaraokeAudioPresentationModeChange_Proxy(    IDvdControl * This,    /* [in] */ ULONG ulMode);void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_VideoModePreferrence_Proxy(    IDvdControl * This,    /* [in] */ ULONG ulPreferredDisplayMode);void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_SetRoot_Proxy(    IDvdControl * This,    /* [in] */ LPCWSTR pszPath);void __RPC_STUB IDvdControl_SetRoot_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_MouseActivate_Proxy(    IDvdControl * This,    /* [in] */ POINT point);void __RPC_STUB IDvdControl_MouseActivate_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_MouseSelect_Proxy(    IDvdControl * This,    /* [in] */ POINT point);void __RPC_STUB IDvdControl_MouseSelect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlayAutoStop_Proxy(    IDvdControl * This,    /* [in] */ ULONG ulTitle,    /* [in] */ ULONG ulChapter,    /* [in] */ ULONG ulChaptersToPlay);void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDvdControl_INTERFACE_DEFINED__ */#ifndef __IDvdInfo_INTERFACE_DEFINED__#define __IDvdInfo_INTERFACE_DEFINED__/* interface IDvdInfo *//* [unique][uuid][object] */EXTERN_C const IID IID_IDvdInfo;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("A70EFE60-E2A3-11d0-A9BE-00AA0061BE93")    IDvdInfo : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain(            /* [out] */ DVD_DOMAIN *pDomain) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation(            /* [out] */ DVD_PLAYBACK_LOCATION *pLocation) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime(            /* [out] */ ULONG *pulTotalTime) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentButton(            /* [out] */ ULONG *pulButtonsAvailable,            /* [out] */ ULONG *pulCurrentButton) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle(            /* [out] */ ULONG *pulAnglesAvailable,            /* [out] */ ULONG *pulCurrentAngle) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio(            /* [out] */ ULONG *pulStreamsAvailable,            /* [out] */ ULONG *pulCurrentStream) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture(            /* [out] */ ULONG *pulStreamsAvailable,            /* [out] */ ULONG *pulCurrentStream,            /* [out] */ BOOL *pIsDisabled) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS(            /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs(            /* [out] */ SPRMARRAY *pRegisterArray) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs(            /* [out] */ GPRMARRAY *pRegisterArray) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage(            /* [in] */ ULONG ulStream,            /* [out] */ LCID *pLanguage) = 0;        virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage(            /* [in] */ ULONG ulStream,            /* [out] */ LCID *pLanguage) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes(            /* [in] */ ULONG ulTitle,            /* [out] */ DVD_ATR *pATR) = 0;        virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes(            /* [out] */ DVD_ATR *pATR) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes(            /* [out] */ DVD_VideoATR *pATR) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentAudioAttributes(            /* [out] */ DVD_AudioATR *pATR) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpictureAttributes(            /* [out] */ DVD_SubpictureATR *pATR) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentVolumeInfo(            /* [out] */ ULONG *pulNumOfVol,            /* [out] */ ULONG *pulThisVolNum,            /* [out] */ DVD_DISC_SIDE *pSide,            /* [out] */ ULONG *pulNumOfTitles) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDVDTextInfo(            /* [size_is][out] */ BYTE *pTextManager,            /* [in] */ ULONG ulBufSize,            /* [out] */ ULONG *pulActualSize) = 0;        virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel(            /* [out] */ ULONG *pulParentalLevel,            /* [out] */ ULONG *pulCountryCode) = 0;        virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters(            /* [in] */ ULONG ulTitle,            /* [out] */ ULONG *pulNumberOfChapters) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels(            /* [in] */ ULONG ulTitle,            /* [out] */ ULONG *pulParentalLevels) = 0;        virtual HRESULT STDMETHODCALLTYPE GetRoot(            /* [size_is][out] */ LPSTR pRoot,            /* [in] */ ULONG ulBufSize,            /* [out] */ ULONG *pulActualSize) = 0;    };#else 	/* C style interface */    typedef struct IDvdInfoVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDvdInfo * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDvdInfo * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDvdInfo * This);        HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )(            IDvdInfo * This,            /* [out] */ DVD_DOMAIN *pDomain);        HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )(            IDvdInfo * This,            /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);        HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )(            IDvdInfo * This,            /* [out] */ ULONG *pulTotalTime);        HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )(            IDvdInfo * This,            /* [out] */ ULONG *pulButtonsAvailable,            /* [out] */ ULONG *pulCurrentButton);        HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )(            IDvdInfo * This,            /* [out] */ ULONG *pulAnglesAvailable,            /* [out] */ ULONG *pulCurrentAngle);        HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )(            IDvdInfo * This,            /* [out] */ ULONG *pulStreamsAvailable,            /* [out] */ ULONG *pulCurrentStream);        HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )(            IDvdInfo * This,            /* [out] */ ULONG *pulStreamsAvailable,            /* [out] */ ULONG *pulCurrentStream,            /* [out] */ BOOL *pIsDisabled);        HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )(            IDvdInfo * This,            /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);        HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )(            IDvdInfo * This,            /* [out] */ SPRMARRAY *pRegisterArray);        HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )(            IDvdInfo * This,            /* [out] */ GPRMARRAY *pRegisterArray);        HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )(            IDvdInfo * This,            /* [in] */ ULONG ulStream,            /* [out] */ LCID *pLanguage);        HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )(            IDvdInfo * This,            /* [in] */ ULONG ulStream,            /* [out] */ LCID *pLanguage);        HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )(            IDvdInfo * This,            /* [in] */ ULONG ulTitle,            /* [out] */ DVD_ATR *pATR);        HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )(            IDvdInfo * This,            /* [out] */ DVD_ATR *pATR);        HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )(            IDvdInfo * This,            /* [out] */ DVD_VideoATR *pATR);        HRESULT ( STDMETHODCALLTYPE *GetCurrentAudioAttributes )(            IDvdInfo * This,            /* [out] */ DVD_AudioATR *pATR);        HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpictureAttributes )(            IDvdInfo * This,            /* [out] */ DVD_SubpictureATR *pATR);        HRESULT ( STDMETHODCALLTYPE *GetCurrentVolumeInfo )(            IDvdInfo * This,            /* [out] */ ULONG *pulNumOfVol,            /* [out] */ ULONG *pulThisVolNum,            /* [out] */ DVD_DISC_SIDE *pSide,            /* [out] */ ULONG *pulNumOfTitles);        HRESULT ( STDMETHODCALLTYPE *GetDVDTextInfo )(            IDvdInfo * This,            /* [size_is][out] */ BYTE *pTextManager,            /* [in] */ ULONG ulBufSize,            /* [out] */ ULONG *pulActualSize);        HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )(            IDvdInfo * This,            /* [out] */ ULONG *pulParentalLevel,            /* [out] */ ULONG *pulCountryCode);        HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )(            IDvdInfo * This,            /* [in] */ ULONG ulTitle,            /* [out] */ ULONG *pulNumberOfChapters);        HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )(            IDvdInfo * This,            /* [in] */ ULONG ulTitle,            /* [out] */ ULONG *pulParentalLevels);        HRESULT ( STDMETHODCALLTYPE *GetRoot )(            IDvdInfo * This,            /* [size_is][out] */ LPSTR pRoot,            /* [in] */ ULONG ulBufSize,            /* [out] */ ULONG *pulActualSize);        END_INTERFACE    } IDvdInfoVtbl;    interface IDvdInfo    {        CONST_VTBL struct IDvdInfoVtbl *lpVtbl;    };#ifdef COBJMACROS#define IDvdInfo_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDvdInfo_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDvdInfo_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDvdInfo_GetCurrentDomain(This,pDomain)	\    (This)->lpVtbl -> GetCurrentDomain(This,pDomain)#define IDvdInfo_GetCurrentLocation(This,pLocation)	\    (This)->lpVtbl -> GetCurrentLocation(This,pLocation)#define IDvdInfo_GetTotalTitleTime(This,pulTotalTime)	\    (This)->lpVtbl -> GetTotalTitleTime(This,pulTotalTime)#define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)	\    (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)#define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)	\    (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)#define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)	\    (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)#define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)	\    (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)#define IDvdInfo_GetCurrentUOPS(This,pUOP)	\    (This)->lpVtbl -> GetCurrentUOPS(This,pUOP)#define IDvdInfo_GetAllSPRMs(This,pRegisterArray)	\    (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)#define IDvdInfo_GetAllGPRMs(This,pRegisterArray)	\    (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)#define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage)	\    (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)#define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage)	\    (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)#define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR)	\    (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pATR)#define IDvdInfo_GetVMGAttributes(This,pATR)	\    (This)->lpVtbl -> GetVMGAttributes(This,pATR)#define IDvdInfo_GetCurrentVideoAttributes(This,pATR)	\    (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)#define IDvdInfo_GetCurrentAudioAttributes(This,pATR)	\    (This)->lpVtbl -> GetCurrentAudioAttributes(This,pATR)#define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR)	\    (This)->lpVtbl -> GetCurrentSubpictureAttributes(This,pATR)#define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)	\    (This)->lpVtbl -> GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)#define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)	\    (This)->lpVtbl -> GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)#define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)	\    (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)#define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)	\    (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)#define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels)	\    (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)#define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize)	\    (This)->lpVtbl -> GetRoot(This,pRoot,ulBufSize,pulActualSize)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentDomain_Proxy(    IDvdInfo * This,    /* [out] */ DVD_DOMAIN *pDomain);void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentLocation_Proxy(    IDvdInfo * This,    /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetTotalTitleTime_Proxy(    IDvdInfo * This,    /* [out] */ ULONG *pulTotalTime);void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentButton_Proxy(    IDvdInfo * This,    /* [out] */ ULONG *pulButtonsAvailable,    /* [out] */ ULONG *pulCurrentButton);void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAngle_Proxy(    IDvdInfo * This,    /* [out] */ ULONG *pulAnglesAvailable,    /* [out] */ ULONG *pulCurrentAngle);void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudio_Proxy(    IDvdInfo * This,    /* [out] */ ULONG *pulStreamsAvailable,    /* [out] */ ULONG *pulCurrentStream);void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpicture_Proxy(    IDvdInfo * This,    /* [out] */ ULONG *pulStreamsAvailable,    /* [out] */ ULONG *pulCurrentStream,    /* [out] */ BOOL *pIsDisabled);void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentUOPS_Proxy(    IDvdInfo * This,    /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllSPRMs_Proxy(    IDvdInfo * This,    /* [out] */ SPRMARRAY *pRegisterArray);void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllGPRMs_Proxy(    IDvdInfo * This,    /* [out] */ GPRMARRAY *pRegisterArray);void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetAudioLanguage_Proxy(    IDvdInfo * This,    /* [in] */ ULONG ulStream,    /* [out] */ LCID *pLanguage);void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetSubpictureLanguage_Proxy(    IDvdInfo * This,    /* [in] */ ULONG ulStream,    /* [out] */ LCID *pLanguage);void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleAttributes_Proxy(    IDvdInfo * This,    /* [in] */ ULONG ulTitle,    /* [out] */ DVD_ATR *pATR);void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetVMGAttributes_Proxy(    IDvdInfo * This,    /* [out] */ DVD_ATR *pATR);void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVideoAttributes_Proxy(    IDvdInfo * This,    /* [out] */ DVD_VideoATR *pATR);void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudioAttributes_Proxy(    IDvdInfo * This,    /* [out] */ DVD_AudioATR *pATR);void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpictureAttributes_Proxy(    IDvdInfo * This,    /* [out] */ DVD_SubpictureATR *pATR);void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVolumeInfo_Proxy(    IDvdInfo * This,    /* [out] */ ULONG *pulNumOfVol,    /* [out] */ ULONG *pulThisVolNum,    /* [out] */ DVD_DISC_SIDE *pSide,    /* [out] */ ULONG *pulNumOfTitles);void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetDVDTextInfo_Proxy(    IDvdInfo * This,    /* [size_is][out] */ BYTE *pTextManager,    /* [in] */ ULONG ulBufSize,    /* [out] */ ULONG *pulActualSize);void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetPlayerParentalLevel_Proxy(    IDvdInfo * This,    /* [out] */ ULONG *pulParentalLevel,    /* [out] */ ULONG *pulCountryCode);void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetNumberOfChapters_Proxy(    IDvdInfo * This,    /* [in] */ ULONG ulTitle,    /* [out] */ ULONG *pulNumberOfChapters);void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleParentalLevels_Proxy(    IDvdInfo * This,    /* [in] */ ULONG ulTitle,    /* [out] */ ULONG *pulParentalLevels);void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo_GetRoot_Proxy(    IDvdInfo * This,    /* [size_is][out] */ LPSTR pRoot,    /* [in] */ ULONG ulBufSize,    /* [out] */ ULONG *pulActualSize);void __RPC_STUB IDvdInfo_GetRoot_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDvdInfo_INTERFACE_DEFINED__ */#ifndef __IDvdCmd_INTERFACE_DEFINED__#define __IDvdCmd_INTERFACE_DEFINED__/* interface IDvdCmd *//* [unique][uuid][object] */EXTERN_C const IID IID_IDvdCmd;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("5a4a97e4-94ee-4a55-9751-74b5643aa27d")    IDvdCmd : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE WaitForStart( void) = 0;        virtual HRESULT STDMETHODCALLTYPE WaitForEnd( void) = 0;    };#else 	/* C style interface */    typedef struct IDvdCmdVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDvdCmd * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDvdCmd * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDvdCmd * This);        HRESULT ( STDMETHODCALLTYPE *WaitForStart )(            IDvdCmd * This);        HRESULT ( STDMETHODCALLTYPE *WaitForEnd )(            IDvdCmd * This);        END_INTERFACE    } IDvdCmdVtbl;    interface IDvdCmd    {        CONST_VTBL struct IDvdCmdVtbl *lpVtbl;    };#ifdef COBJMACROS#define IDvdCmd_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDvdCmd_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDvdCmd_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDvdCmd_WaitForStart(This)	\    (This)->lpVtbl -> WaitForStart(This)#define IDvdCmd_WaitForEnd(This)	\    (This)->lpVtbl -> WaitForEnd(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForStart_Proxy(    IDvdCmd * This);void __RPC_STUB IDvdCmd_WaitForStart_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForEnd_Proxy(    IDvdCmd * This);void __RPC_STUB IDvdCmd_WaitForEnd_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDvdCmd_INTERFACE_DEFINED__ */#ifndef __IDvdState_INTERFACE_DEFINED__#define __IDvdState_INTERFACE_DEFINED__/* interface IDvdState *//* [unique][uuid][object] */EXTERN_C const IID IID_IDvdState;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("86303d6d-1c4a-4087-ab42-f711167048ef")    IDvdState : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetDiscID(            /* [out] */ ULONGLONG *pullUniqueID) = 0;        virtual HRESULT STDMETHODCALLTYPE GetParentalLevel(            /* [out] */ ULONG *pulParentalLevel) = 0;    };#else 	/* C style interface */    typedef struct IDvdStateVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDvdState * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDvdState * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDvdState * This);        HRESULT ( STDMETHODCALLTYPE *GetDiscID )(            IDvdState * This,            /* [out] */ ULONGLONG *pullUniqueID);        HRESULT ( STDMETHODCALLTYPE *GetParentalLevel )(            IDvdState * This,            /* [out] */ ULONG *pulParentalLevel);        END_INTERFACE    } IDvdStateVtbl;    interface IDvdState    {        CONST_VTBL struct IDvdStateVtbl *lpVtbl;    };#ifdef COBJMACROS#define IDvdState_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDvdState_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDvdState_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDvdState_GetDiscID(This,pullUniqueID)	\    (This)->lpVtbl -> GetDiscID(This,pullUniqueID)#define IDvdState_GetParentalLevel(This,pulParentalLevel)	\    (This)->lpVtbl -> GetParentalLevel(This,pulParentalLevel)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDvdState_GetDiscID_Proxy(    IDvdState * This,    /* [out] */ ULONGLONG *pullUniqueID);void __RPC_STUB IDvdState_GetDiscID_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdState_GetParentalLevel_Proxy(    IDvdState * This,    /* [out] */ ULONG *pulParentalLevel);void __RPC_STUB IDvdState_GetParentalLevel_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDvdState_INTERFACE_DEFINED__ */#ifndef __IDvdControl2_INTERFACE_DEFINED__#define __IDvdControl2_INTERFACE_DEFINED__/* interface IDvdControl2 *//* [unique][uuid][object] */EXTERN_C const IID IID_IDvdControl2;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("33BC7430-EEC0-11D2-8201-00A0C9D74842")    IDvdControl2 : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE PlayTitle(            /* [in] */ ULONG ulTitle,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE PlayChapterInTitle(            /* [in] */ ULONG ulTitle,            /* [in] */ ULONG ulChapter,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE PlayAtTimeInTitle(            /* [in] */ ULONG ulTitle,            /* [in] */ DVD_HMSF_TIMECODE *pStartTime,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;        virtual HRESULT STDMETHODCALLTYPE ReturnFromSubmenu(            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE PlayAtTime(            /* [in] */ DVD_HMSF_TIMECODE *pTime,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE PlayChapter(            /* [in] */ ULONG ulChapter,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE PlayPrevChapter(            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE ReplayChapter(            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE PlayNextChapter(            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE PlayForwards(            /* [in] */ double dSpeed,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE PlayBackwards(            /* [in] */ double dSpeed,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE ShowMenu(            /* [in] */ DVD_MENU_ID MenuID,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE Resume(            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectRelativeButton(            DVD_RELATIVE_BUTTON buttonDir) = 0;        virtual HRESULT STDMETHODCALLTYPE ActivateButton( void) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectButton(            /* [in] */ ULONG ulButton) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectAndActivateButton(            /* [in] */ ULONG ulButton) = 0;        virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;        virtual HRESULT STDMETHODCALLTYPE Pause(            /* [in] */ BOOL bState) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectAudioStream(            /* [in] */ ULONG ulAudio,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectSubpictureStream(            /* [in] */ ULONG ulSubPicture,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE SetSubpictureState(            /* [in] */ BOOL bState,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectAngle(            /* [in] */ ULONG ulAngle,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectParentalLevel(            /* [in] */ ULONG ulParentalLevel) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectParentalCountry(            /* [in] */ BYTE bCountry[ 2 ]) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectKaraokeAudioPresentationMode(            /* [in] */ ULONG ulMode) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectVideoModePreference(            /* [in] */ ULONG ulPreferredDisplayMode) = 0;        virtual HRESULT STDMETHODCALLTYPE SetDVDDirectory(            /* [in] */ LPCWSTR pszwPath) = 0;        virtual HRESULT STDMETHODCALLTYPE ActivateAtPosition(            /* [in] */ POINT point) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectAtPosition(            /* [in] */ POINT point) = 0;        virtual HRESULT STDMETHODCALLTYPE PlayChaptersAutoStop(            /* [in] */ ULONG ulTitle,            /* [in] */ ULONG ulChapter,            /* [in] */ ULONG ulChaptersToPlay,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE AcceptParentalLevelChange(            /* [in] */ BOOL bAccept) = 0;        virtual HRESULT STDMETHODCALLTYPE SetOption(            /* [in] */ DVD_OPTION_FLAG flag,            /* [in] */ BOOL fState) = 0;        virtual HRESULT STDMETHODCALLTYPE SetState(            /* [in] */ IDvdState *pState,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE PlayPeriodInTitleAutoStop(            /* [in] */ ULONG ulTitle,            /* [in] */ DVD_HMSF_TIMECODE *pStartTime,            /* [in] */ DVD_HMSF_TIMECODE *pEndTime,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE SetGPRM(            /* [in] */ ULONG ulIndex,            /* [in] */ WORD wValue,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectDefaultMenuLanguage(            /* [in] */ LCID Language) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectDefaultAudioLanguage(            /* [in] */ LCID Language,            /* [in] */ DVD_AUDIO_LANG_EXT audioExtension) = 0;        virtual HRESULT STDMETHODCALLTYPE SelectDefaultSubpictureLanguage(            /* [in] */ LCID Language,            /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;    };#else 	/* C style interface */    typedef struct IDvdControl2Vtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDvdControl2 * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDvdControl2 * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDvdControl2 * This);        HRESULT ( STDMETHODCALLTYPE *PlayTitle )(            IDvdControl2 * This,            /* [in] */ ULONG ulTitle,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *PlayChapterInTitle )(            IDvdControl2 * This,            /* [in] */ ULONG ulTitle,            /* [in] */ ULONG ulChapter,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *PlayAtTimeInTitle )(            IDvdControl2 * This,            /* [in] */ ULONG ulTitle,            /* [in] */ DVD_HMSF_TIMECODE *pStartTime,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *Stop )(            IDvdControl2 * This);        HRESULT ( STDMETHODCALLTYPE *ReturnFromSubmenu )(            IDvdControl2 * This,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *PlayAtTime )(            IDvdControl2 * This,            /* [in] */ DVD_HMSF_TIMECODE *pTime,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *PlayChapter )(            IDvdControl2 * This,            /* [in] */ ULONG ulChapter,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *PlayPrevChapter )(            IDvdControl2 * This,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *ReplayChapter )(            IDvdControl2 * This,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *PlayNextChapter )(            IDvdControl2 * This,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *PlayForwards )(            IDvdControl2 * This,            /* [in] */ double dSpeed,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *PlayBackwards )(            IDvdControl2 * This,            /* [in] */ double dSpeed,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *ShowMenu )(            IDvdControl2 * This,            /* [in] */ DVD_MENU_ID MenuID,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *Resume )(            IDvdControl2 * This,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *SelectRelativeButton )(            IDvdControl2 * This,            DVD_RELATIVE_BUTTON buttonDir);        HRESULT ( STDMETHODCALLTYPE *ActivateButton )(            IDvdControl2 * This);        HRESULT ( STDMETHODCALLTYPE *SelectButton )(            IDvdControl2 * This,            /* [in] */ ULONG ulButton);        HRESULT ( STDMETHODCALLTYPE *SelectAndActivateButton )(            IDvdControl2 * This,            /* [in] */ ULONG ulButton);        HRESULT ( STDMETHODCALLTYPE *StillOff )(            IDvdControl2 * This);        HRESULT ( STDMETHODCALLTYPE *Pause )(            IDvdControl2 * This,            /* [in] */ BOOL bState);        HRESULT ( STDMETHODCALLTYPE *SelectAudioStream )(            IDvdControl2 * This,            /* [in] */ ULONG ulAudio,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *SelectSubpictureStream )(            IDvdControl2 * This,            /* [in] */ ULONG ulSubPicture,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *SetSubpictureState )(            IDvdControl2 * This,            /* [in] */ BOOL bState,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *SelectAngle )(            IDvdControl2 * This,            /* [in] */ ULONG ulAngle,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *SelectParentalLevel )(            IDvdControl2 * This,            /* [in] */ ULONG ulParentalLevel);        HRESULT ( STDMETHODCALLTYPE *SelectParentalCountry )(            IDvdControl2 * This,            /* [in] */ BYTE bCountry[ 2 ]);        HRESULT ( STDMETHODCALLTYPE *SelectKaraokeAudioPresentationMode )(            IDvdControl2 * This,            /* [in] */ ULONG ulMode);        HRESULT ( STDMETHODCALLTYPE *SelectVideoModePreference )(            IDvdControl2 * This,            /* [in] */ ULONG ulPreferredDisplayMode);        HRESULT ( STDMETHODCALLTYPE *SetDVDDirectory )(            IDvdControl2 * This,            /* [in] */ LPCWSTR pszwPath);        HRESULT ( STDMETHODCALLTYPE *ActivateAtPosition )(            IDvdControl2 * This,            /* [in] */ POINT point);        HRESULT ( STDMETHODCALLTYPE *SelectAtPosition )(            IDvdControl2 * This,            /* [in] */ POINT point);        HRESULT ( STDMETHODCALLTYPE *PlayChaptersAutoStop )(            IDvdControl2 * This,            /* [in] */ ULONG ulTitle,            /* [in] */ ULONG ulChapter,            /* [in] */ ULONG ulChaptersToPlay,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *AcceptParentalLevelChange )(            IDvdControl2 * This,            /* [in] */ BOOL bAccept);        HRESULT ( STDMETHODCALLTYPE *SetOption )(            IDvdControl2 * This,            /* [in] */ DVD_OPTION_FLAG flag,            /* [in] */ BOOL fState);        HRESULT ( STDMETHODCALLTYPE *SetState )(            IDvdControl2 * This,            /* [in] */ IDvdState *pState,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *PlayPeriodInTitleAutoStop )(            IDvdControl2 * This,            /* [in] */ ULONG ulTitle,            /* [in] */ DVD_HMSF_TIMECODE *pStartTime,            /* [in] */ DVD_HMSF_TIMECODE *pEndTime,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *SetGPRM )(            IDvdControl2 * This,            /* [in] */ ULONG ulIndex,            /* [in] */ WORD wValue,            /* [in] */ DWORD dwFlags,            /* [out] */ IDvdCmd **ppCmd);        HRESULT ( STDMETHODCALLTYPE *SelectDefaultMenuLanguage )(            IDvdControl2 * This,            /* [in] */ LCID Language);        HRESULT ( STDMETHODCALLTYPE *SelectDefaultAudioLanguage )(            IDvdControl2 * This,            /* [in] */ LCID Language,            /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);        HRESULT ( STDMETHODCALLTYPE *SelectDefaultSubpictureLanguage )(            IDvdControl2 * This,            /* [in] */ LCID Language,            /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);        END_INTERFACE    } IDvdControl2Vtbl;    interface IDvdControl2    {        CONST_VTBL struct IDvdControl2Vtbl *lpVtbl;    };#ifdef COBJMACROS#define IDvdControl2_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDvdControl2_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDvdControl2_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd)	\    (This)->lpVtbl -> PlayTitle(This,ulTitle,dwFlags,ppCmd)#define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)	\    (This)->lpVtbl -> PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)#define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)	\    (This)->lpVtbl -> PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)#define IDvdControl2_Stop(This)	\    (This)->lpVtbl -> Stop(This)#define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd)	\    (This)->lpVtbl -> ReturnFromSubmenu(This,dwFlags,ppCmd)#define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd)	\    (This)->lpVtbl -> PlayAtTime(This,pTime,dwFlags,ppCmd)#define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd)	\    (This)->lpVtbl -> PlayChapter(This,ulChapter,dwFlags,ppCmd)#define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd)	\    (This)->lpVtbl -> PlayPrevChapter(This,dwFlags,ppCmd)#define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd)	\    (This)->lpVtbl -> ReplayChapter(This,dwFlags,ppCmd)#define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd)	\    (This)->lpVtbl -> PlayNextChapter(This,dwFlags,ppCmd)#define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd)	\    (This)->lpVtbl -> PlayForwards(This,dSpeed,dwFlags,ppCmd)#define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd)	\    (This)->lpVtbl -> PlayBackwards(This,dSpeed,dwFlags,ppCmd)#define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd)	\    (This)->lpVtbl -> ShowMenu(This,MenuID,dwFlags,ppCmd)#define IDvdControl2_Resume(This,dwFlags,ppCmd)	\    (This)->lpVtbl -> Resume(This,dwFlags,ppCmd)#define IDvdControl2_SelectRelativeButton(This,buttonDir)	\    (This)->lpVtbl -> SelectRelativeButton(This,buttonDir)#define IDvdControl2_ActivateButton(This)	\    (This)->lpVtbl -> ActivateButton(This)#define IDvdControl2_SelectButton(This,ulButton)	\    (This)->lpVtbl -> SelectButton(This,ulButton)#define IDvdControl2_SelectAndActivateButton(This,ulButton)	\    (This)->lpVtbl -> SelectAndActivateButton(This,ulButton)#define IDvdControl2_StillOff(This)	\    (This)->lpVtbl -> StillOff(This)#define IDvdControl2_Pause(This,bState)	\    (This)->lpVtbl -> Pause(This,bState)#define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd)	\    (This)->lpVtbl -> SelectAudioStream(This,ulAudio,dwFlags,ppCmd)#define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)	\    (This)->lpVtbl -> SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)#define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd)	\    (This)->lpVtbl -> SetSubpictureState(This,bState,dwFlags,ppCmd)#define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd)	\    (This)->lpVtbl -> SelectAngle(This,ulAngle,dwFlags,ppCmd)#define IDvdControl2_SelectParentalLevel(This,ulParentalLevel)	\    (This)->lpVtbl -> SelectParentalLevel(This,ulParentalLevel)#define IDvdControl2_SelectParentalCountry(This,bCountry)	\    (This)->lpVtbl -> SelectParentalCountry(This,bCountry)#define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode)	\    (This)->lpVtbl -> SelectKaraokeAudioPresentationMode(This,ulMode)#define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode)	\    (This)->lpVtbl -> SelectVideoModePreference(This,ulPreferredDisplayMode)#define IDvdControl2_SetDVDDirectory(This,pszwPath)	\    (This)->lpVtbl -> SetDVDDirectory(This,pszwPath)#define IDvdControl2_ActivateAtPosition(This,point)	\    (This)->lpVtbl -> ActivateAtPosition(This,point)#define IDvdControl2_SelectAtPosition(This,point)	\    (This)->lpVtbl -> SelectAtPosition(This,point)#define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)	\    (This)->lpVtbl -> PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)#define IDvdControl2_AcceptParentalLevelChange(This,bAccept)	\    (This)->lpVtbl -> AcceptParentalLevelChange(This,bAccept)#define IDvdControl2_SetOption(This,flag,fState)	\    (This)->lpVtbl -> SetOption(This,flag,fState)#define IDvdControl2_SetState(This,pState,dwFlags,ppCmd)	\    (This)->lpVtbl -> SetState(This,pState,dwFlags,ppCmd)#define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)	\    (This)->lpVtbl -> PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)#define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)	\    (This)->lpVtbl -> SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)#define IDvdControl2_SelectDefaultMenuLanguage(This,Language)	\    (This)->lpVtbl -> SelectDefaultMenuLanguage(This,Language)#define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension)	\    (This)->lpVtbl -> SelectDefaultAudioLanguage(This,Language,audioExtension)#define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)	\    (This)->lpVtbl -> SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDvdControl2_PlayTitle_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulTitle,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_PlayTitle_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapterInTitle_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulTitle,    /* [in] */ ULONG ulChapter,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTimeInTitle_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulTitle,    /* [in] */ DVD_HMSF_TIMECODE *pStartTime,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_Stop_Proxy(    IDvdControl2 * This);void __RPC_STUB IDvdControl2_Stop_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_ReturnFromSubmenu_Proxy(    IDvdControl2 * This,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTime_Proxy(    IDvdControl2 * This,    /* [in] */ DVD_HMSF_TIMECODE *pTime,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_PlayAtTime_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapter_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulChapter,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_PlayChapter_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPrevChapter_Proxy(    IDvdControl2 * This,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_ReplayChapter_Proxy(    IDvdControl2 * This,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_ReplayChapter_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_PlayNextChapter_Proxy(    IDvdControl2 * This,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_PlayForwards_Proxy(    IDvdControl2 * This,    /* [in] */ double dSpeed,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_PlayForwards_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_PlayBackwards_Proxy(    IDvdControl2 * This,    /* [in] */ double dSpeed,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_PlayBackwards_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_ShowMenu_Proxy(    IDvdControl2 * This,    /* [in] */ DVD_MENU_ID MenuID,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_ShowMenu_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_Resume_Proxy(    IDvdControl2 * This,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_Resume_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectRelativeButton_Proxy(    IDvdControl2 * This,    DVD_RELATIVE_BUTTON buttonDir);void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateButton_Proxy(    IDvdControl2 * This);void __RPC_STUB IDvdControl2_ActivateButton_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectButton_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulButton);void __RPC_STUB IDvdControl2_SelectButton_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAndActivateButton_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulButton);void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_StillOff_Proxy(    IDvdControl2 * This);void __RPC_STUB IDvdControl2_StillOff_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_Pause_Proxy(    IDvdControl2 * This,    /* [in] */ BOOL bState);void __RPC_STUB IDvdControl2_Pause_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAudioStream_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulAudio,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectSubpictureStream_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulSubPicture,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SetSubpictureState_Proxy(    IDvdControl2 * This,    /* [in] */ BOOL bState,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAngle_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulAngle,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_SelectAngle_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalLevel_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulParentalLevel);void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalCountry_Proxy(    IDvdControl2 * This,    /* [in] */ BYTE bCountry[ 2 ]);void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulMode);void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectVideoModePreference_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulPreferredDisplayMode);void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SetDVDDirectory_Proxy(    IDvdControl2 * This,    /* [in] */ LPCWSTR pszwPath);void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateAtPosition_Proxy(    IDvdControl2 * This,    /* [in] */ POINT point);void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAtPosition_Proxy(    IDvdControl2 * This,    /* [in] */ POINT point);void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChaptersAutoStop_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulTitle,    /* [in] */ ULONG ulChapter,    /* [in] */ ULONG ulChaptersToPlay,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_AcceptParentalLevelChange_Proxy(    IDvdControl2 * This,    /* [in] */ BOOL bAccept);void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SetOption_Proxy(    IDvdControl2 * This,    /* [in] */ DVD_OPTION_FLAG flag,    /* [in] */ BOOL fState);void __RPC_STUB IDvdControl2_SetOption_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SetState_Proxy(    IDvdControl2 * This,    /* [in] */ IDvdState *pState,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_SetState_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPeriodInTitleAutoStop_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulTitle,    /* [in] */ DVD_HMSF_TIMECODE *pStartTime,    /* [in] */ DVD_HMSF_TIMECODE *pEndTime,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SetGPRM_Proxy(    IDvdControl2 * This,    /* [in] */ ULONG ulIndex,    /* [in] */ WORD wValue,    /* [in] */ DWORD dwFlags,    /* [out] */ IDvdCmd **ppCmd);void __RPC_STUB IDvdControl2_SetGPRM_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultMenuLanguage_Proxy(    IDvdControl2 * This,    /* [in] */ LCID Language);void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultAudioLanguage_Proxy(    IDvdControl2 * This,    /* [in] */ LCID Language,    /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultSubpictureLanguage_Proxy(    IDvdControl2 * This,    /* [in] */ LCID Language,    /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDvdControl2_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0371 *//* [local] */enum DVD_TextStringType    {	DVD_Struct_Volume	= 0x1,	DVD_Struct_Title	= 0x2,	DVD_Struct_ParentalID	= 0x3,	DVD_Struct_PartOfTitle	= 0x4,	DVD_Struct_Cell	= 0x5,	DVD_Stream_Audio	= 0x10,	DVD_Stream_Subpicture	= 0x11,	DVD_Stream_Angle	= 0x12,	DVD_Channel_Audio	= 0x20,	DVD_General_Name	= 0x30,	DVD_General_Comments	= 0x31,	DVD_Title_Series	= 0x38,	DVD_Title_Movie	= 0x39,	DVD_Title_Video	= 0x3a,	DVD_Title_Album	= 0x3b,	DVD_Title_Song	= 0x3c,	DVD_Title_Other	= 0x3f,	DVD_Title_Sub_Series	= 0x40,	DVD_Title_Sub_Movie	= 0x41,	DVD_Title_Sub_Video	= 0x42,	DVD_Title_Sub_Album	= 0x43,	DVD_Title_Sub_Song	= 0x44,	DVD_Title_Sub_Other	= 0x47,	DVD_Title_Orig_Series	= 0x48,	DVD_Title_Orig_Movie	= 0x49,	DVD_Title_Orig_Video	= 0x4a,	DVD_Title_Orig_Album	= 0x4b,	DVD_Title_Orig_Song	= 0x4c,	DVD_Title_Orig_Other	= 0x4f,	DVD_Other_Scene	= 0x50,	DVD_Other_Cut	= 0x51,	DVD_Other_Take	= 0x52    } ;enum DVD_TextCharSet    {	DVD_CharSet_Unicode	= 0,	DVD_CharSet_ISO646	= 1,	DVD_CharSet_JIS_Roman_Kanji	= 2,	DVD_CharSet_ISO8859_1	= 3,	DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana	= 4    } ;#define DVD_TITLE_MENU				0x000#define DVD_STREAM_DATA_CURRENT     0x800#define DVD_STREAM_DATA_VMGM        0x400#define DVD_STREAM_DATA_VTSM        0x401#define DVD_DEFAULT_AUDIO_STREAM	0x0ftypedef struct tagDVD_DECODER_CAPS    {    DWORD dwSize;    DWORD dwAudioCaps;    double dFwdMaxRateVideo;    double dFwdMaxRateAudio;    double dFwdMaxRateSP;    double dBwdMaxRateVideo;    double dBwdMaxRateAudio;    double dBwdMaxRateSP;    DWORD dwRes1;    DWORD dwRes2;    DWORD dwRes3;    DWORD dwRes4;    } 	DVD_DECODER_CAPS;#define DVD_AUDIO_CAPS_AC3		0x00000001#define DVD_AUDIO_CAPS_MPEG2	0x00000002#define DVD_AUDIO_CAPS_LPCM		0x00000004#define DVD_AUDIO_CAPS_DTS		0x00000008#define DVD_AUDIO_CAPS_SDDS		0x00000010extern RPC_IF_HANDLE __MIDL_itf_strmif_0371_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0371_v0_0_s_ifspec;#ifndef __IDvdInfo2_INTERFACE_DEFINED__#define __IDvdInfo2_INTERFACE_DEFINED__/* interface IDvdInfo2 *//* [unique][uuid][object] */EXTERN_C const IID IID_IDvdInfo2;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("34151510-EEC0-11D2-8201-00A0C9D74842")    IDvdInfo2 : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain(            /* [out] */ DVD_DOMAIN *pDomain) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation(            /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime(            /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,            /* [out] */ ULONG *ulTimeCodeFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentButton(            /* [out] */ ULONG *pulButtonsAvailable,            /* [out] */ ULONG *pulCurrentButton) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle(            /* [out] */ ULONG *pulAnglesAvailable,            /* [out] */ ULONG *pulCurrentAngle) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio(            /* [out] */ ULONG *pulStreamsAvailable,            /* [out] */ ULONG *pulCurrentStream) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture(            /* [out] */ ULONG *pulStreamsAvailable,            /* [out] */ ULONG *pulCurrentStream,            /* [out] */ BOOL *pbIsDisabled) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS(            /* [out] */ ULONG *pulUOPs) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs(            /* [out] */ SPRMARRAY *pRegisterArray) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs(            /* [out] */ GPRMARRAY *pRegisterArray) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage(            /* [in] */ ULONG ulStream,            /* [out] */ LCID *pLanguage) = 0;        virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage(            /* [in] */ ULONG ulStream,            /* [out] */ LCID *pLanguage) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes(            /* [in] */ ULONG ulTitle,            /* [out] */ DVD_MenuAttributes *pMenu,            /* [out] */ DVD_TitleAttributes *pTitle) = 0;        virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes(            /* [out] */ DVD_MenuAttributes *pATR) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes(            /* [out] */ DVD_VideoAttributes *pATR) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAudioAttributes(            /* [in] */ ULONG ulStream,            /* [out] */ DVD_AudioAttributes *pATR) = 0;        virtual HRESULT STDMETHODCALLTYPE GetKaraokeAttributes(            /* [in] */ ULONG ulStream,            /* [out] */ DVD_KaraokeAttributes *pAttributes) = 0;        virtual HRESULT STDMETHODCALLTYPE GetSubpictureAttributes(            /* [in] */ ULONG ulStream,            /* [out] */ DVD_SubpictureAttributes *pATR) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDVDVolumeInfo(            /* [out] */ ULONG *pulNumOfVolumes,            /* [out] */ ULONG *pulVolume,            /* [out] */ DVD_DISC_SIDE *pSide,            /* [out] */ ULONG *pulNumOfTitles) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDVDTextNumberOfLanguages(            /* [out] */ ULONG *pulNumOfLangs) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDVDTextLanguageInfo(            /* [in] */ ULONG ulLangIndex,            /* [out] */ ULONG *pulNumOfStrings,            /* [out] */ LCID *pLangCode,            /* [out] */ enum DVD_TextCharSet *pbCharacterSet) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsNative(            /* [in] */ ULONG ulLangIndex,            /* [in] */ ULONG ulStringIndex,            /* [out] */ BYTE *pbBuffer,            /* [in] */ ULONG ulMaxBufferSize,            /* [out] */ ULONG *pulActualSize,            /* [out] */ enum DVD_TextStringType *pType) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsUnicode(            /* [in] */ ULONG ulLangIndex,            /* [in] */ ULONG ulStringIndex,            /* [out] */ WCHAR *pchwBuffer,            /* [in] */ ULONG ulMaxBufferSize,            /* [out] */ ULONG *pulActualSize,            /* [out] */ enum DVD_TextStringType *pType) = 0;        virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel(            /* [out] */ ULONG *pulParentalLevel,            /* [out] */ BYTE pbCountryCode[ 2 ]) = 0;        virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters(            /* [in] */ ULONG ulTitle,            /* [out] */ ULONG *pulNumOfChapters) = 0;        virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels(            /* [in] */ ULONG ulTitle,            /* [out] */ ULONG *pulParentalLevels) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDVDDirectory(            /* [size_is][out] */ LPWSTR pszwPath,            /* [in] */ ULONG ulMaxSize,            /* [out] */ ULONG *pulActualSize) = 0;        virtual HRESULT STDMETHODCALLTYPE IsAudioStreamEnabled(            /* [in] */ ULONG ulStreamNum,            /* [out] */ BOOL *pbEnabled) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDiscID(            /* [in] */ LPCWSTR pszwPath,            /* [out] */ ULONGLONG *pullDiscID) = 0;        virtual HRESULT STDMETHODCALLTYPE GetState(            /* [out] */ IDvdState **pStateData) = 0;        virtual HRESULT STDMETHODCALLTYPE GetMenuLanguages(            /* [out] */ LCID *pLanguages,            /* [in] */ ULONG ulMaxLanguages,            /* [out] */ ULONG *pulActualLanguages) = 0;        virtual HRESULT STDMETHODCALLTYPE GetButtonAtPosition(            /* [in] */ POINT point,            /* [out] */ ULONG *pulButtonIndex) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCmdFromEvent(            /* [in] */ LONG_PTR lParam1,            /* [out] */ IDvdCmd **pCmdObj) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuLanguage(            /* [out] */ LCID *pLanguage) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDefaultAudioLanguage(            /* [out] */ LCID *pLanguage,            /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDefaultSubpictureLanguage(            /* [out] */ LCID *pLanguage,            /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps(            /* [out] */ DVD_DECODER_CAPS *pCaps) = 0;        virtual HRESULT STDMETHODCALLTYPE GetButtonRect(            /* [in] */ ULONG ulButton,            /* [out] */ RECT *pRect) = 0;        virtual HRESULT STDMETHODCALLTYPE IsSubpictureStreamEnabled(            /* [in] */ ULONG ulStreamNum,            /* [out] */ BOOL *pbEnabled) = 0;    };#else 	/* C style interface */    typedef struct IDvdInfo2Vtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDvdInfo2 * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDvdInfo2 * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDvdInfo2 * This);        HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )(            IDvdInfo2 * This,            /* [out] */ DVD_DOMAIN *pDomain);        HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )(            IDvdInfo2 * This,            /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);        HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )(            IDvdInfo2 * This,            /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,            /* [out] */ ULONG *ulTimeCodeFlags);        HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )(            IDvdInfo2 * This,            /* [out] */ ULONG *pulButtonsAvailable,            /* [out] */ ULONG *pulCurrentButton);        HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )(            IDvdInfo2 * This,            /* [out] */ ULONG *pulAnglesAvailable,            /* [out] */ ULONG *pulCurrentAngle);        HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )(            IDvdInfo2 * This,            /* [out] */ ULONG *pulStreamsAvailable,            /* [out] */ ULONG *pulCurrentStream);        HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )(            IDvdInfo2 * This,            /* [out] */ ULONG *pulStreamsAvailable,            /* [out] */ ULONG *pulCurrentStream,            /* [out] */ BOOL *pbIsDisabled);        HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )(            IDvdInfo2 * This,            /* [out] */ ULONG *pulUOPs);        HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )(            IDvdInfo2 * This,            /* [out] */ SPRMARRAY *pRegisterArray);        HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )(            IDvdInfo2 * This,            /* [out] */ GPRMARRAY *pRegisterArray);        HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )(            IDvdInfo2 * This,            /* [in] */ ULONG ulStream,            /* [out] */ LCID *pLanguage);        HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )(            IDvdInfo2 * This,            /* [in] */ ULONG ulStream,            /* [out] */ LCID *pLanguage);        HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )(            IDvdInfo2 * This,            /* [in] */ ULONG ulTitle,            /* [out] */ DVD_MenuAttributes *pMenu,            /* [out] */ DVD_TitleAttributes *pTitle);        HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )(            IDvdInfo2 * This,            /* [out] */ DVD_MenuAttributes *pATR);        HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )(            IDvdInfo2 * This,            /* [out] */ DVD_VideoAttributes *pATR);        HRESULT ( STDMETHODCALLTYPE *GetAudioAttributes )(            IDvdInfo2 * This,            /* [in] */ ULONG ulStream,            /* [out] */ DVD_AudioAttributes *pATR);        HRESULT ( STDMETHODCALLTYPE *GetKaraokeAttributes )(            IDvdInfo2 * This,            /* [in] */ ULONG ulStream,            /* [out] */ DVD_KaraokeAttributes *pAttributes);        HRESULT ( STDMETHODCALLTYPE *GetSubpictureAttributes )(            IDvdInfo2 * This,            /* [in] */ ULONG ulStream,            /* [out] */ DVD_SubpictureAttributes *pATR);        HRESULT ( STDMETHODCALLTYPE *GetDVDVolumeInfo )(            IDvdInfo2 * This,            /* [out] */ ULONG *pulNumOfVolumes,            /* [out] */ ULONG *pulVolume,            /* [out] */ DVD_DISC_SIDE *pSide,            /* [out] */ ULONG *pulNumOfTitles);        HRESULT ( STDMETHODCALLTYPE *GetDVDTextNumberOfLanguages )(            IDvdInfo2 * This,            /* [out] */ ULONG *pulNumOfLangs);        HRESULT ( STDMETHODCALLTYPE *GetDVDTextLanguageInfo )(            IDvdInfo2 * This,            /* [in] */ ULONG ulLangIndex,            /* [out] */ ULONG *pulNumOfStrings,            /* [out] */ LCID *pLangCode,            /* [out] */ enum DVD_TextCharSet *pbCharacterSet);        HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsNative )(            IDvdInfo2 * This,            /* [in] */ ULONG ulLangIndex,            /* [in] */ ULONG ulStringIndex,            /* [out] */ BYTE *pbBuffer,            /* [in] */ ULONG ulMaxBufferSize,            /* [out] */ ULONG *pulActualSize,            /* [out] */ enum DVD_TextStringType *pType);        HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsUnicode )(            IDvdInfo2 * This,            /* [in] */ ULONG ulLangIndex,            /* [in] */ ULONG ulStringIndex,            /* [out] */ WCHAR *pchwBuffer,            /* [in] */ ULONG ulMaxBufferSize,            /* [out] */ ULONG *pulActualSize,            /* [out] */ enum DVD_TextStringType *pType);        HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )(            IDvdInfo2 * This,            /* [out] */ ULONG *pulParentalLevel,            /* [out] */ BYTE pbCountryCode[ 2 ]);        HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )(            IDvdInfo2 * This,            /* [in] */ ULONG ulTitle,            /* [out] */ ULONG *pulNumOfChapters);        HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )(            IDvdInfo2 * This,            /* [in] */ ULONG ulTitle,            /* [out] */ ULONG *pulParentalLevels);        HRESULT ( STDMETHODCALLTYPE *GetDVDDirectory )(            IDvdInfo2 * This,            /* [size_is][out] */ LPWSTR pszwPath,            /* [in] */ ULONG ulMaxSize,            /* [out] */ ULONG *pulActualSize);        HRESULT ( STDMETHODCALLTYPE *IsAudioStreamEnabled )(            IDvdInfo2 * This,            /* [in] */ ULONG ulStreamNum,            /* [out] */ BOOL *pbEnabled);        HRESULT ( STDMETHODCALLTYPE *GetDiscID )(            IDvdInfo2 * This,            /* [in] */ LPCWSTR pszwPath,            /* [out] */ ULONGLONG *pullDiscID);        HRESULT ( STDMETHODCALLTYPE *GetState )(            IDvdInfo2 * This,            /* [out] */ IDvdState **pStateData);        HRESULT ( STDMETHODCALLTYPE *GetMenuLanguages )(            IDvdInfo2 * This,            /* [out] */ LCID *pLanguages,            /* [in] */ ULONG ulMaxLanguages,            /* [out] */ ULONG *pulActualLanguages);        HRESULT ( STDMETHODCALLTYPE *GetButtonAtPosition )(            IDvdInfo2 * This,            /* [in] */ POINT point,            /* [out] */ ULONG *pulButtonIndex);        HRESULT ( STDMETHODCALLTYPE *GetCmdFromEvent )(            IDvdInfo2 * This,            /* [in] */ LONG_PTR lParam1,            /* [out] */ IDvdCmd **pCmdObj);        HRESULT ( STDMETHODCALLTYPE *GetDefaultMenuLanguage )(            IDvdInfo2 * This,            /* [out] */ LCID *pLanguage);        HRESULT ( STDMETHODCALLTYPE *GetDefaultAudioLanguage )(            IDvdInfo2 * This,            /* [out] */ LCID *pLanguage,            /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);        HRESULT ( STDMETHODCALLTYPE *GetDefaultSubpictureLanguage )(            IDvdInfo2 * This,            /* [out] */ LCID *pLanguage,            /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);        HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )(            IDvdInfo2 * This,            /* [out] */ DVD_DECODER_CAPS *pCaps);        HRESULT ( STDMETHODCALLTYPE *GetButtonRect )(            IDvdInfo2 * This,            /* [in] */ ULONG ulButton,            /* [out] */ RECT *pRect);        HRESULT ( STDMETHODCALLTYPE *IsSubpictureStreamEnabled )(            IDvdInfo2 * This,            /* [in] */ ULONG ulStreamNum,            /* [out] */ BOOL *pbEnabled);        END_INTERFACE    } IDvdInfo2Vtbl;    interface IDvdInfo2    {        CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl;    };#ifdef COBJMACROS#define IDvdInfo2_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDvdInfo2_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDvdInfo2_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDvdInfo2_GetCurrentDomain(This,pDomain)	\    (This)->lpVtbl -> GetCurrentDomain(This,pDomain)#define IDvdInfo2_GetCurrentLocation(This,pLocation)	\    (This)->lpVtbl -> GetCurrentLocation(This,pLocation)#define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)	\    (This)->lpVtbl -> GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)#define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)	\    (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)#define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)	\    (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)#define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)	\    (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)#define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)	\    (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)#define IDvdInfo2_GetCurrentUOPS(This,pulUOPs)	\    (This)->lpVtbl -> GetCurrentUOPS(This,pulUOPs)#define IDvdInfo2_GetAllSPRMs(This,pRegisterArray)	\    (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)#define IDvdInfo2_GetAllGPRMs(This,pRegisterArray)	\    (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)#define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage)	\    (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)#define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage)	\    (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)#define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle)	\    (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pMenu,pTitle)#define IDvdInfo2_GetVMGAttributes(This,pATR)	\    (This)->lpVtbl -> GetVMGAttributes(This,pATR)#define IDvdInfo2_GetCurrentVideoAttributes(This,pATR)	\    (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)#define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR)	\    (This)->lpVtbl -> GetAudioAttributes(This,ulStream,pATR)#define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes)	\    (This)->lpVtbl -> GetKaraokeAttributes(This,ulStream,pAttributes)#define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR)	\    (This)->lpVtbl -> GetSubpictureAttributes(This,ulStream,pATR)#define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)	\    (This)->lpVtbl -> GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)#define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs)	\    (This)->lpVtbl -> GetDVDTextNumberOfLanguages(This,pulNumOfLangs)#define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)	\    (This)->lpVtbl -> GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)#define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)	\    (This)->lpVtbl -> GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)#define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)	\    (This)->lpVtbl -> GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)#define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)	\    (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)#define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters)	\    (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumOfChapters)#define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels)	\    (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)#define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)	\    (This)->lpVtbl -> GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)#define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)	\    (This)->lpVtbl -> IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)#define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID)	\    (This)->lpVtbl -> GetDiscID(This,pszwPath,pullDiscID)#define IDvdInfo2_GetState(This,pStateData)	\    (This)->lpVtbl -> GetState(This,pStateData)#define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)	\    (This)->lpVtbl -> GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)#define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex)	\    (This)->lpVtbl -> GetButtonAtPosition(This,point,pulButtonIndex)#define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj)	\    (This)->lpVtbl -> GetCmdFromEvent(This,lParam1,pCmdObj)#define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage)	\    (This)->lpVtbl -> GetDefaultMenuLanguage(This,pLanguage)#define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)	\    (This)->lpVtbl -> GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)#define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)	\    (This)->lpVtbl -> GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)#define IDvdInfo2_GetDecoderCaps(This,pCaps)	\    (This)->lpVtbl -> GetDecoderCaps(This,pCaps)#define IDvdInfo2_GetButtonRect(This,ulButton,pRect)	\    (This)->lpVtbl -> GetButtonRect(This,ulButton,pRect)#define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)	\    (This)->lpVtbl -> IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentDomain_Proxy(    IDvdInfo2 * This,    /* [out] */ DVD_DOMAIN *pDomain);void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentLocation_Proxy(    IDvdInfo2 * This,    /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTotalTitleTime_Proxy(    IDvdInfo2 * This,    /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,    /* [out] */ ULONG *ulTimeCodeFlags);void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentButton_Proxy(    IDvdInfo2 * This,    /* [out] */ ULONG *pulButtonsAvailable,    /* [out] */ ULONG *pulCurrentButton);void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAngle_Proxy(    IDvdInfo2 * This,    /* [out] */ ULONG *pulAnglesAvailable,    /* [out] */ ULONG *pulCurrentAngle);void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAudio_Proxy(    IDvdInfo2 * This,    /* [out] */ ULONG *pulStreamsAvailable,    /* [out] */ ULONG *pulCurrentStream);void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentSubpicture_Proxy(    IDvdInfo2 * This,    /* [out] */ ULONG *pulStreamsAvailable,    /* [out] */ ULONG *pulCurrentStream,    /* [out] */ BOOL *pbIsDisabled);void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentUOPS_Proxy(    IDvdInfo2 * This,    /* [out] */ ULONG *pulUOPs);void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllSPRMs_Proxy(    IDvdInfo2 * This,    /* [out] */ SPRMARRAY *pRegisterArray);void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllGPRMs_Proxy(    IDvdInfo2 * This,    /* [out] */ GPRMARRAY *pRegisterArray);void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioLanguage_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulStream,    /* [out] */ LCID *pLanguage);void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureLanguage_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulStream,    /* [out] */ LCID *pLanguage);void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleAttributes_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulTitle,    /* [out] */ DVD_MenuAttributes *pMenu,    /* [out] */ DVD_TitleAttributes *pTitle);void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetVMGAttributes_Proxy(    IDvdInfo2 * This,    /* [out] */ DVD_MenuAttributes *pATR);void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentVideoAttributes_Proxy(    IDvdInfo2 * This,    /* [out] */ DVD_VideoAttributes *pATR);void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioAttributes_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulStream,    /* [out] */ DVD_AudioAttributes *pATR);void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetKaraokeAttributes_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulStream,    /* [out] */ DVD_KaraokeAttributes *pAttributes);void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureAttributes_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulStream,    /* [out] */ DVD_SubpictureAttributes *pATR);void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDVolumeInfo_Proxy(    IDvdInfo2 * This,    /* [out] */ ULONG *pulNumOfVolumes,    /* [out] */ ULONG *pulVolume,    /* [out] */ DVD_DISC_SIDE *pSide,    /* [out] */ ULONG *pulNumOfTitles);void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy(    IDvdInfo2 * This,    /* [out] */ ULONG *pulNumOfLangs);void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextLanguageInfo_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulLangIndex,    /* [out] */ ULONG *pulNumOfStrings,    /* [out] */ LCID *pLangCode,    /* [out] */ enum DVD_TextCharSet *pbCharacterSet);void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsNative_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulLangIndex,    /* [in] */ ULONG ulStringIndex,    /* [out] */ BYTE *pbBuffer,    /* [in] */ ULONG ulMaxBufferSize,    /* [out] */ ULONG *pulActualSize,    /* [out] */ enum DVD_TextStringType *pType);void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsUnicode_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulLangIndex,    /* [in] */ ULONG ulStringIndex,    /* [out] */ WCHAR *pchwBuffer,    /* [in] */ ULONG ulMaxBufferSize,    /* [out] */ ULONG *pulActualSize,    /* [out] */ enum DVD_TextStringType *pType);void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetPlayerParentalLevel_Proxy(    IDvdInfo2 * This,    /* [out] */ ULONG *pulParentalLevel,    /* [out] */ BYTE pbCountryCode[ 2 ]);void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetNumberOfChapters_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulTitle,    /* [out] */ ULONG *pulNumOfChapters);void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleParentalLevels_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulTitle,    /* [out] */ ULONG *pulParentalLevels);void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDDirectory_Proxy(    IDvdInfo2 * This,    /* [size_is][out] */ LPWSTR pszwPath,    /* [in] */ ULONG ulMaxSize,    /* [out] */ ULONG *pulActualSize);void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_IsAudioStreamEnabled_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulStreamNum,    /* [out] */ BOOL *pbEnabled);void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDiscID_Proxy(    IDvdInfo2 * This,    /* [in] */ LPCWSTR pszwPath,    /* [out] */ ULONGLONG *pullDiscID);void __RPC_STUB IDvdInfo2_GetDiscID_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetState_Proxy(    IDvdInfo2 * This,    /* [out] */ IDvdState **pStateData);void __RPC_STUB IDvdInfo2_GetState_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetMenuLanguages_Proxy(    IDvdInfo2 * This,    /* [out] */ LCID *pLanguages,    /* [in] */ ULONG ulMaxLanguages,    /* [out] */ ULONG *pulActualLanguages);void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonAtPosition_Proxy(    IDvdInfo2 * This,    /* [in] */ POINT point,    /* [out] */ ULONG *pulButtonIndex);void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCmdFromEvent_Proxy(    IDvdInfo2 * This,    /* [in] */ LONG_PTR lParam1,    /* [out] */ IDvdCmd **pCmdObj);void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultMenuLanguage_Proxy(    IDvdInfo2 * This,    /* [out] */ LCID *pLanguage);void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultAudioLanguage_Proxy(    IDvdInfo2 * This,    /* [out] */ LCID *pLanguage,    /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultSubpictureLanguage_Proxy(    IDvdInfo2 * This,    /* [out] */ LCID *pLanguage,    /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDecoderCaps_Proxy(    IDvdInfo2 * This,    /* [out] */ DVD_DECODER_CAPS *pCaps);void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonRect_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulButton,    /* [out] */ RECT *pRect);void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdInfo2_IsSubpictureStreamEnabled_Proxy(    IDvdInfo2 * This,    /* [in] */ ULONG ulStreamNum,    /* [out] */ BOOL *pbEnabled);void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDvdInfo2_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0373 *//* [local] */typedefenum _AM_DVD_GRAPH_FLAGS    {	AM_DVD_HWDEC_PREFER	= 0x1,	AM_DVD_HWDEC_ONLY	= 0x2,	AM_DVD_SWDEC_PREFER	= 0x4,	AM_DVD_SWDEC_ONLY	= 0x8,	AM_DVD_NOVPE	= 0x100    } 	AM_DVD_GRAPH_FLAGS;typedefenum _AM_DVD_STREAM_FLAGS    {	AM_DVD_STREAM_VIDEO	= 0x1,	AM_DVD_STREAM_AUDIO	= 0x2,	AM_DVD_STREAM_SUBPIC	= 0x4    } 	AM_DVD_STREAM_FLAGS;typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0373_0001    {    HRESULT hrVPEStatus;    BOOL bDvdVolInvalid;    BOOL bDvdVolUnknown;    BOOL bNoLine21In;    BOOL bNoLine21Out;    int iNumStreams;    int iNumStreamsFailed;    DWORD dwFailedStreamsFlag;    } 	AM_DVD_RENDERSTATUS;extern RPC_IF_HANDLE __MIDL_itf_strmif_0373_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0373_v0_0_s_ifspec;#ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__#define __IDvdGraphBuilder_INTERFACE_DEFINED__/* interface IDvdGraphBuilder *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IDvdGraphBuilder;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("FCC152B6-F372-11d0-8E00-00C04FD7C08B")    IDvdGraphBuilder : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetFiltergraph(            /* [out] */ IGraphBuilder **ppGB) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDvdInterface(            /* [in] */ REFIID riid,            /* [out] */ void **ppvIF) = 0;        virtual HRESULT STDMETHODCALLTYPE RenderDvdVideoVolume(            /* [in] */ LPCWSTR lpcwszPathName,            /* [in] */ DWORD dwFlags,            /* [out] */ AM_DVD_RENDERSTATUS *pStatus) = 0;    };#else 	/* C style interface */    typedef struct IDvdGraphBuilderVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDvdGraphBuilder * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDvdGraphBuilder * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDvdGraphBuilder * This);        HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )(            IDvdGraphBuilder * This,            /* [out] */ IGraphBuilder **ppGB);        HRESULT ( STDMETHODCALLTYPE *GetDvdInterface )(            IDvdGraphBuilder * This,            /* [in] */ REFIID riid,            /* [out] */ void **ppvIF);        HRESULT ( STDMETHODCALLTYPE *RenderDvdVideoVolume )(            IDvdGraphBuilder * This,            /* [in] */ LPCWSTR lpcwszPathName,            /* [in] */ DWORD dwFlags,            /* [out] */ AM_DVD_RENDERSTATUS *pStatus);        END_INTERFACE    } IDvdGraphBuilderVtbl;    interface IDvdGraphBuilder    {        CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl;    };#ifdef COBJMACROS#define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDvdGraphBuilder_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDvdGraphBuilder_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDvdGraphBuilder_GetFiltergraph(This,ppGB)	\    (This)->lpVtbl -> GetFiltergraph(This,ppGB)#define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF)	\    (This)->lpVtbl -> GetDvdInterface(This,riid,ppvIF)#define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)	\    (This)->lpVtbl -> RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetFiltergraph_Proxy(    IDvdGraphBuilder * This,    /* [out] */ IGraphBuilder **ppGB);void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetDvdInterface_Proxy(    IDvdGraphBuilder * This,    /* [in] */ REFIID riid,    /* [out] */ void **ppvIF);void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_RenderDvdVideoVolume_Proxy(    IDvdGraphBuilder * This,    /* [in] */ LPCWSTR lpcwszPathName,    /* [in] */ DWORD dwFlags,    /* [out] */ AM_DVD_RENDERSTATUS *pStatus);void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDvdGraphBuilder_INTERFACE_DEFINED__ */#ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__#define __IDDrawExclModeVideo_INTERFACE_DEFINED__/* interface IDDrawExclModeVideo *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IDDrawExclModeVideo;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("153ACC21-D83B-11d1-82BF-00A0C9696C8F")    IDDrawExclModeVideo : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetDDrawObject(            /* [in] */ IDirectDraw *pDDrawObject) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDDrawObject(            /* [out] */ IDirectDraw **ppDDrawObject,            /* [out] */ BOOL *pbUsingExternal) = 0;        virtual HRESULT STDMETHODCALLTYPE SetDDrawSurface(            /* [in] */ IDirectDrawSurface *pDDrawSurface) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDDrawSurface(            /* [out] */ IDirectDrawSurface **ppDDrawSurface,            /* [out] */ BOOL *pbUsingExternal) = 0;        virtual HRESULT STDMETHODCALLTYPE SetDrawParameters(            /* [in] */ const RECT *prcSource,            /* [in] */ const RECT *prcTarget) = 0;        virtual HRESULT STDMETHODCALLTYPE GetNativeVideoProps(            /* [out] */ DWORD *pdwVideoWidth,            /* [out] */ DWORD *pdwVideoHeight,            /* [out] */ DWORD *pdwPictAspectRatioX,            /* [out] */ DWORD *pdwPictAspectRatioY) = 0;        virtual HRESULT STDMETHODCALLTYPE SetCallbackInterface(            /* [in] */ IDDrawExclModeVideoCallback *pCallback,            /* [in] */ DWORD dwFlags) = 0;    };#else 	/* C style interface */    typedef struct IDDrawExclModeVideoVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDDrawExclModeVideo * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDDrawExclModeVideo * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDDrawExclModeVideo * This);        HRESULT ( STDMETHODCALLTYPE *SetDDrawObject )(            IDDrawExclModeVideo * This,            /* [in] */ IDirectDraw *pDDrawObject);        HRESULT ( STDMETHODCALLTYPE *GetDDrawObject )(            IDDrawExclModeVideo * This,            /* [out] */ IDirectDraw **ppDDrawObject,            /* [out] */ BOOL *pbUsingExternal);        HRESULT ( STDMETHODCALLTYPE *SetDDrawSurface )(            IDDrawExclModeVideo * This,            /* [in] */ IDirectDrawSurface *pDDrawSurface);        HRESULT ( STDMETHODCALLTYPE *GetDDrawSurface )(            IDDrawExclModeVideo * This,            /* [out] */ IDirectDrawSurface **ppDDrawSurface,            /* [out] */ BOOL *pbUsingExternal);        HRESULT ( STDMETHODCALLTYPE *SetDrawParameters )(            IDDrawExclModeVideo * This,            /* [in] */ const RECT *prcSource,            /* [in] */ const RECT *prcTarget);        HRESULT ( STDMETHODCALLTYPE *GetNativeVideoProps )(            IDDrawExclModeVideo * This,            /* [out] */ DWORD *pdwVideoWidth,            /* [out] */ DWORD *pdwVideoHeight,            /* [out] */ DWORD *pdwPictAspectRatioX,            /* [out] */ DWORD *pdwPictAspectRatioY);        HRESULT ( STDMETHODCALLTYPE *SetCallbackInterface )(            IDDrawExclModeVideo * This,            /* [in] */ IDDrawExclModeVideoCallback *pCallback,            /* [in] */ DWORD dwFlags);        END_INTERFACE    } IDDrawExclModeVideoVtbl;    interface IDDrawExclModeVideo    {        CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl;    };#ifdef COBJMACROS#define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDDrawExclModeVideo_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDDrawExclModeVideo_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject)	\    (This)->lpVtbl -> SetDDrawObject(This,pDDrawObject)#define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal)	\    (This)->lpVtbl -> GetDDrawObject(This,ppDDrawObject,pbUsingExternal)#define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface)	\    (This)->lpVtbl -> SetDDrawSurface(This,pDDrawSurface)#define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)	\    (This)->lpVtbl -> GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)#define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget)	\    (This)->lpVtbl -> SetDrawParameters(This,prcSource,prcTarget)#define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)	\    (This)->lpVtbl -> GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)#define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags)	\    (This)->lpVtbl -> SetCallbackInterface(This,pCallback,dwFlags)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawObject_Proxy(    IDDrawExclModeVideo * This,    /* [in] */ IDirectDraw *pDDrawObject);void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawObject_Proxy(    IDDrawExclModeVideo * This,    /* [out] */ IDirectDraw **ppDDrawObject,    /* [out] */ BOOL *pbUsingExternal);void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawSurface_Proxy(    IDDrawExclModeVideo * This,    /* [in] */ IDirectDrawSurface *pDDrawSurface);void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawSurface_Proxy(    IDDrawExclModeVideo * This,    /* [out] */ IDirectDrawSurface **ppDDrawSurface,    /* [out] */ BOOL *pbUsingExternal);void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDrawParameters_Proxy(    IDDrawExclModeVideo * This,    /* [in] */ const RECT *prcSource,    /* [in] */ const RECT *prcTarget);void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetNativeVideoProps_Proxy(    IDDrawExclModeVideo * This,    /* [out] */ DWORD *pdwVideoWidth,    /* [out] */ DWORD *pdwVideoHeight,    /* [out] */ DWORD *pdwPictAspectRatioX,    /* [out] */ DWORD *pdwPictAspectRatioY);void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetCallbackInterface_Proxy(    IDDrawExclModeVideo * This,    /* [in] */ IDDrawExclModeVideoCallback *pCallback,    /* [in] */ DWORD dwFlags);void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDDrawExclModeVideo_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0375 *//* [local] */enum _AM_OVERLAY_NOTIFY_FLAGS    {	AM_OVERLAY_NOTIFY_VISIBLE_CHANGE	= 0x1,	AM_OVERLAY_NOTIFY_SOURCE_CHANGE	= 0x2,	AM_OVERLAY_NOTIFY_DEST_CHANGE	= 0x4    } ;extern RPC_IF_HANDLE __MIDL_itf_strmif_0375_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0375_v0_0_s_ifspec;#ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__#define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__/* interface IDDrawExclModeVideoCallback *//* [unique][uuid][local][object] */EXTERN_C const IID IID_IDDrawExclModeVideoCallback;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("913c24a0-20ab-11d2-9038-00a0c9697298")    IDDrawExclModeVideoCallback : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE OnUpdateOverlay(            /* [in] */ BOOL bBefore,            /* [in] */ DWORD dwFlags,            /* [in] */ BOOL bOldVisible,            /* [in] */ const RECT *prcOldSrc,            /* [in] */ const RECT *prcOldDest,            /* [in] */ BOOL bNewVisible,            /* [in] */ const RECT *prcNewSrc,            /* [in] */ const RECT *prcNewDest) = 0;        virtual HRESULT STDMETHODCALLTYPE OnUpdateColorKey(            /* [in] */ const COLORKEY *pKey,            /* [in] */ DWORD dwColor) = 0;        virtual HRESULT STDMETHODCALLTYPE OnUpdateSize(            /* [in] */ DWORD dwWidth,            /* [in] */ DWORD dwHeight,            /* [in] */ DWORD dwARWidth,            /* [in] */ DWORD dwARHeight) = 0;    };#else 	/* C style interface */    typedef struct IDDrawExclModeVideoCallbackVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IDDrawExclModeVideoCallback * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IDDrawExclModeVideoCallback * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IDDrawExclModeVideoCallback * This);        HRESULT ( STDMETHODCALLTYPE *OnUpdateOverlay )(            IDDrawExclModeVideoCallback * This,            /* [in] */ BOOL bBefore,            /* [in] */ DWORD dwFlags,            /* [in] */ BOOL bOldVisible,            /* [in] */ const RECT *prcOldSrc,            /* [in] */ const RECT *prcOldDest,            /* [in] */ BOOL bNewVisible,            /* [in] */ const RECT *prcNewSrc,            /* [in] */ const RECT *prcNewDest);        HRESULT ( STDMETHODCALLTYPE *OnUpdateColorKey )(            IDDrawExclModeVideoCallback * This,            /* [in] */ const COLORKEY *pKey,            /* [in] */ DWORD dwColor);        HRESULT ( STDMETHODCALLTYPE *OnUpdateSize )(            IDDrawExclModeVideoCallback * This,            /* [in] */ DWORD dwWidth,            /* [in] */ DWORD dwHeight,            /* [in] */ DWORD dwARWidth,            /* [in] */ DWORD dwARHeight);        END_INTERFACE    } IDDrawExclModeVideoCallbackVtbl;    interface IDDrawExclModeVideoCallback    {        CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl;    };#ifdef COBJMACROS#define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDDrawExclModeVideoCallback_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IDDrawExclModeVideoCallback_Release(This)	\    (This)->lpVtbl -> Release(This)#define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)	\    (This)->lpVtbl -> OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)#define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor)	\    (This)->lpVtbl -> OnUpdateColorKey(This,pKey,dwColor)#define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)	\    (This)->lpVtbl -> OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateOverlay_Proxy(    IDDrawExclModeVideoCallback * This,    /* [in] */ BOOL bBefore,    /* [in] */ DWORD dwFlags,    /* [in] */ BOOL bOldVisible,    /* [in] */ const RECT *prcOldSrc,    /* [in] */ const RECT *prcOldDest,    /* [in] */ BOOL bNewVisible,    /* [in] */ const RECT *prcNewSrc,    /* [in] */ const RECT *prcNewDest);void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy(    IDDrawExclModeVideoCallback * This,    /* [in] */ const COLORKEY *pKey,    /* [in] */ DWORD dwColor);void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateSize_Proxy(    IDDrawExclModeVideoCallback * This,    /* [in] */ DWORD dwWidth,    /* [in] */ DWORD dwHeight,    /* [in] */ DWORD dwARWidth,    /* [in] */ DWORD dwARHeight);void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0376 *//* [local] */extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_s_ifspec;#ifndef __IPinConnection_INTERFACE_DEFINED__#define __IPinConnection_INTERFACE_DEFINED__/* interface IPinConnection *//* [unique][uuid][object][local] */EXTERN_C const IID IID_IPinConnection;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("4a9a62d3-27d4-403d-91e9-89f540e55534")    IPinConnection : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE DynamicQueryAccept(            /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;        virtual HRESULT STDMETHODCALLTYPE NotifyEndOfStream(            /* [in] */ HANDLE hNotifyEvent) = 0;        virtual HRESULT STDMETHODCALLTYPE IsEndPin( void) = 0;        virtual HRESULT STDMETHODCALLTYPE DynamicDisconnect( void) = 0;    };#else 	/* C style interface */    typedef struct IPinConnectionVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IPinConnection * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IPinConnection * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IPinConnection * This);        HRESULT ( STDMETHODCALLTYPE *DynamicQueryAccept )(            IPinConnection * This,            /* [in] */ const AM_MEDIA_TYPE *pmt);        HRESULT ( STDMETHODCALLTYPE *NotifyEndOfStream )(            IPinConnection * This,            /* [in] */ HANDLE hNotifyEvent);        HRESULT ( STDMETHODCALLTYPE *IsEndPin )(            IPinConnection * This);        HRESULT ( STDMETHODCALLTYPE *DynamicDisconnect )(            IPinConnection * This);        END_INTERFACE    } IPinConnectionVtbl;    interface IPinConnection    {        CONST_VTBL struct IPinConnectionVtbl *lpVtbl;    };#ifdef COBJMACROS#define IPinConnection_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IPinConnection_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IPinConnection_Release(This)	\    (This)->lpVtbl -> Release(This)#define IPinConnection_DynamicQueryAccept(This,pmt)	\    (This)->lpVtbl -> DynamicQueryAccept(This,pmt)#define IPinConnection_NotifyEndOfStream(This,hNotifyEvent)	\    (This)->lpVtbl -> NotifyEndOfStream(This,hNotifyEvent)#define IPinConnection_IsEndPin(This)	\    (This)->lpVtbl -> IsEndPin(This)#define IPinConnection_DynamicDisconnect(This)	\    (This)->lpVtbl -> DynamicDisconnect(This)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IPinConnection_DynamicQueryAccept_Proxy(    IPinConnection * This,    /* [in] */ const AM_MEDIA_TYPE *pmt);void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPinConnection_NotifyEndOfStream_Proxy(    IPinConnection * This,    /* [in] */ HANDLE hNotifyEvent);void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPinConnection_IsEndPin_Proxy(    IPinConnection * This);void __RPC_STUB IPinConnection_IsEndPin_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IPinConnection_DynamicDisconnect_Proxy(    IPinConnection * This);void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IPinConnection_INTERFACE_DEFINED__ */#ifndef __IPinFlowControl_INTERFACE_DEFINED__#define __IPinFlowControl_INTERFACE_DEFINED__/* interface IPinFlowControl *//* [unique][uuid][object][local] */EXTERN_C const IID IID_IPinFlowControl;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("c56e9858-dbf3-4f6b-8119-384af2060deb")    IPinFlowControl : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Block(            /* [in] */ DWORD dwBlockFlags,            /* [in] */ HANDLE hEvent) = 0;    };#else 	/* C style interface */    typedef struct IPinFlowControlVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IPinFlowControl * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IPinFlowControl * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IPinFlowControl * This);        HRESULT ( STDMETHODCALLTYPE *Block )(            IPinFlowControl * This,            /* [in] */ DWORD dwBlockFlags,            /* [in] */ HANDLE hEvent);        END_INTERFACE    } IPinFlowControlVtbl;    interface IPinFlowControl    {        CONST_VTBL struct IPinFlowControlVtbl *lpVtbl;    };#ifdef COBJMACROS#define IPinFlowControl_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IPinFlowControl_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IPinFlowControl_Release(This)	\    (This)->lpVtbl -> Release(This)#define IPinFlowControl_Block(This,dwBlockFlags,hEvent)	\    (This)->lpVtbl -> Block(This,dwBlockFlags,hEvent)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IPinFlowControl_Block_Proxy(    IPinFlowControl * This,    /* [in] */ DWORD dwBlockFlags,    /* [in] */ HANDLE hEvent);void __RPC_STUB IPinFlowControl_Block_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IPinFlowControl_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0378 *//* [local] */enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS    {	AM_PIN_FLOW_CONTROL_BLOCK	= 0x1    } ;typedefenum _AM_GRAPH_CONFIG_RECONNECT_FLAGS    {	AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT	= 0x1,	AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS	= 0x2,	AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS	= 0x4    } 	AM_GRAPH_CONFIG_RECONNECT_FLAGS;enum _REM_FILTER_FLAGS    {	REMFILTERF_LEAVECONNECTED	= 0x1    } ;typedefenum _AM_FILTER_FLAGS    {	AM_FILTER_FLAGS_REMOVABLE	= 0x1    } 	AM_FILTER_FLAGS;extern RPC_IF_HANDLE __MIDL_itf_strmif_0378_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0378_v0_0_s_ifspec;#ifndef __IGraphConfig_INTERFACE_DEFINED__#define __IGraphConfig_INTERFACE_DEFINED__/* interface IGraphConfig *//* [unique][uuid][object][local] */EXTERN_C const IID IID_IGraphConfig;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("03A1EB8E-32BF-4245-8502-114D08A9CB88")    IGraphConfig : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Reconnect(            /* [in] */ IPin *pOutputPin,            /* [in] */ IPin *pInputPin,            /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,            /* [in] */ IBaseFilter *pUsingFilter,            /* [in] */ HANDLE hAbortEvent,            /* [in] */ DWORD dwFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE Reconfigure(            /* [in] */ IGraphConfigCallback *pCallback,            /* [in] */ PVOID pvContext,            /* [in] */ DWORD dwFlags,            /* [in] */ HANDLE hAbortEvent) = 0;        virtual HRESULT STDMETHODCALLTYPE AddFilterToCache(            /* [in] */ IBaseFilter *pFilter) = 0;        virtual HRESULT STDMETHODCALLTYPE EnumCacheFilter(            /* [out] */ IEnumFilters **pEnum) = 0;        virtual HRESULT STDMETHODCALLTYPE RemoveFilterFromCache(            /* [in] */ IBaseFilter *pFilter) = 0;        virtual HRESULT STDMETHODCALLTYPE GetStartTime(            /* [out] */ REFERENCE_TIME *prtStart) = 0;        virtual HRESULT STDMETHODCALLTYPE PushThroughData(            /* [in] */ IPin *pOutputPin,            /* [in] */ IPinConnection *pConnection,            /* [in] */ HANDLE hEventAbort) = 0;        virtual HRESULT STDMETHODCALLTYPE SetFilterFlags(            /* [in] */ IBaseFilter *pFilter,            /* [in] */ DWORD dwFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE GetFilterFlags(            /* [in] */ IBaseFilter *pFilter,            /* [out] */ DWORD *pdwFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE RemoveFilterEx(            /* [in] */ IBaseFilter *pFilter,            DWORD Flags) = 0;    };#else 	/* C style interface */    typedef struct IGraphConfigVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IGraphConfig * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IGraphConfig * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IGraphConfig * This);        HRESULT ( STDMETHODCALLTYPE *Reconnect )(            IGraphConfig * This,            /* [in] */ IPin *pOutputPin,            /* [in] */ IPin *pInputPin,            /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,            /* [in] */ IBaseFilter *pUsingFilter,            /* [in] */ HANDLE hAbortEvent,            /* [in] */ DWORD dwFlags);        HRESULT ( STDMETHODCALLTYPE *Reconfigure )(            IGraphConfig * This,            /* [in] */ IGraphConfigCallback *pCallback,            /* [in] */ PVOID pvContext,            /* [in] */ DWORD dwFlags,            /* [in] */ HANDLE hAbortEvent);        HRESULT ( STDMETHODCALLTYPE *AddFilterToCache )(            IGraphConfig * This,            /* [in] */ IBaseFilter *pFilter);        HRESULT ( STDMETHODCALLTYPE *EnumCacheFilter )(            IGraphConfig * This,            /* [out] */ IEnumFilters **pEnum);        HRESULT ( STDMETHODCALLTYPE *RemoveFilterFromCache )(            IGraphConfig * This,            /* [in] */ IBaseFilter *pFilter);        HRESULT ( STDMETHODCALLTYPE *GetStartTime )(            IGraphConfig * This,            /* [out] */ REFERENCE_TIME *prtStart);        HRESULT ( STDMETHODCALLTYPE *PushThroughData )(            IGraphConfig * This,            /* [in] */ IPin *pOutputPin,            /* [in] */ IPinConnection *pConnection,            /* [in] */ HANDLE hEventAbort);        HRESULT ( STDMETHODCALLTYPE *SetFilterFlags )(            IGraphConfig * This,            /* [in] */ IBaseFilter *pFilter,            /* [in] */ DWORD dwFlags);        HRESULT ( STDMETHODCALLTYPE *GetFilterFlags )(            IGraphConfig * This,            /* [in] */ IBaseFilter *pFilter,            /* [out] */ DWORD *pdwFlags);        HRESULT ( STDMETHODCALLTYPE *RemoveFilterEx )(            IGraphConfig * This,            /* [in] */ IBaseFilter *pFilter,            DWORD Flags);        END_INTERFACE    } IGraphConfigVtbl;    interface IGraphConfig    {        CONST_VTBL struct IGraphConfigVtbl *lpVtbl;    };#ifdef COBJMACROS#define IGraphConfig_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IGraphConfig_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IGraphConfig_Release(This)	\    (This)->lpVtbl -> Release(This)#define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)	\    (This)->lpVtbl -> Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)#define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)	\    (This)->lpVtbl -> Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)#define IGraphConfig_AddFilterToCache(This,pFilter)	\    (This)->lpVtbl -> AddFilterToCache(This,pFilter)#define IGraphConfig_EnumCacheFilter(This,pEnum)	\    (This)->lpVtbl -> EnumCacheFilter(This,pEnum)#define IGraphConfig_RemoveFilterFromCache(This,pFilter)	\    (This)->lpVtbl -> RemoveFilterFromCache(This,pFilter)#define IGraphConfig_GetStartTime(This,prtStart)	\    (This)->lpVtbl -> GetStartTime(This,prtStart)#define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort)	\    (This)->lpVtbl -> PushThroughData(This,pOutputPin,pConnection,hEventAbort)#define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags)	\    (This)->lpVtbl -> SetFilterFlags(This,pFilter,dwFlags)#define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags)	\    (This)->lpVtbl -> GetFilterFlags(This,pFilter,pdwFlags)#define IGraphConfig_RemoveFilterEx(This,pFilter,Flags)	\    (This)->lpVtbl -> RemoveFilterEx(This,pFilter,Flags)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IGraphConfig_Reconnect_Proxy(    IGraphConfig * This,    /* [in] */ IPin *pOutputPin,    /* [in] */ IPin *pInputPin,    /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,    /* [in] */ IBaseFilter *pUsingFilter,    /* [in] */ HANDLE hAbortEvent,    /* [in] */ DWORD dwFlags);void __RPC_STUB IGraphConfig_Reconnect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphConfig_Reconfigure_Proxy(    IGraphConfig * This,    /* [in] */ IGraphConfigCallback *pCallback,    /* [in] */ PVOID pvContext,    /* [in] */ DWORD dwFlags,    /* [in] */ HANDLE hAbortEvent);void __RPC_STUB IGraphConfig_Reconfigure_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphConfig_AddFilterToCache_Proxy(    IGraphConfig * This,    /* [in] */ IBaseFilter *pFilter);void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphConfig_EnumCacheFilter_Proxy(    IGraphConfig * This,    /* [out] */ IEnumFilters **pEnum);void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterFromCache_Proxy(    IGraphConfig * This,    /* [in] */ IBaseFilter *pFilter);void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphConfig_GetStartTime_Proxy(    IGraphConfig * This,    /* [out] */ REFERENCE_TIME *prtStart);void __RPC_STUB IGraphConfig_GetStartTime_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphConfig_PushThroughData_Proxy(    IGraphConfig * This,    /* [in] */ IPin *pOutputPin,    /* [in] */ IPinConnection *pConnection,    /* [in] */ HANDLE hEventAbort);void __RPC_STUB IGraphConfig_PushThroughData_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphConfig_SetFilterFlags_Proxy(    IGraphConfig * This,    /* [in] */ IBaseFilter *pFilter,    /* [in] */ DWORD dwFlags);void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphConfig_GetFilterFlags_Proxy(    IGraphConfig * This,    /* [in] */ IBaseFilter *pFilter,    /* [out] */ DWORD *pdwFlags);void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterEx_Proxy(    IGraphConfig * This,    /* [in] */ IBaseFilter *pFilter,    DWORD Flags);void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IGraphConfig_INTERFACE_DEFINED__ */#ifndef __IGraphConfigCallback_INTERFACE_DEFINED__#define __IGraphConfigCallback_INTERFACE_DEFINED__/* interface IGraphConfigCallback *//* [unique][uuid][object][local] */EXTERN_C const IID IID_IGraphConfigCallback;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("ade0fd60-d19d-11d2-abf6-00a0c905f375")    IGraphConfigCallback : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE Reconfigure(            PVOID pvContext,            DWORD dwFlags) = 0;    };#else 	/* C style interface */    typedef struct IGraphConfigCallbackVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IGraphConfigCallback * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IGraphConfigCallback * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IGraphConfigCallback * This);        HRESULT ( STDMETHODCALLTYPE *Reconfigure )(            IGraphConfigCallback * This,            PVOID pvContext,            DWORD dwFlags);        END_INTERFACE    } IGraphConfigCallbackVtbl;    interface IGraphConfigCallback    {        CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl;    };#ifdef COBJMACROS#define IGraphConfigCallback_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IGraphConfigCallback_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IGraphConfigCallback_Release(This)	\    (This)->lpVtbl -> Release(This)#define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags)	\    (This)->lpVtbl -> Reconfigure(This,pvContext,dwFlags)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IGraphConfigCallback_Reconfigure_Proxy(    IGraphConfigCallback * This,    PVOID pvContext,    DWORD dwFlags);void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IGraphConfigCallback_INTERFACE_DEFINED__ */#ifndef __IFilterChain_INTERFACE_DEFINED__#define __IFilterChain_INTERFACE_DEFINED__/* interface IFilterChain *//* [unique][uuid][object][local] */EXTERN_C const IID IID_IFilterChain;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29")    IFilterChain : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE StartChain(            /* [in] */ IBaseFilter *pStartFilter,            /* [in] */ IBaseFilter *pEndFilter) = 0;        virtual HRESULT STDMETHODCALLTYPE PauseChain(            /* [in] */ IBaseFilter *pStartFilter,            /* [in] */ IBaseFilter *pEndFilter) = 0;        virtual HRESULT STDMETHODCALLTYPE StopChain(            /* [in] */ IBaseFilter *pStartFilter,            /* [in] */ IBaseFilter *pEndFilter) = 0;        virtual HRESULT STDMETHODCALLTYPE RemoveChain(            /* [in] */ IBaseFilter *pStartFilter,            /* [in] */ IBaseFilter *pEndFilter) = 0;    };#else 	/* C style interface */    typedef struct IFilterChainVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IFilterChain * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IFilterChain * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IFilterChain * This);        HRESULT ( STDMETHODCALLTYPE *StartChain )(            IFilterChain * This,            /* [in] */ IBaseFilter *pStartFilter,            /* [in] */ IBaseFilter *pEndFilter);        HRESULT ( STDMETHODCALLTYPE *PauseChain )(            IFilterChain * This,            /* [in] */ IBaseFilter *pStartFilter,            /* [in] */ IBaseFilter *pEndFilter);        HRESULT ( STDMETHODCALLTYPE *StopChain )(            IFilterChain * This,            /* [in] */ IBaseFilter *pStartFilter,            /* [in] */ IBaseFilter *pEndFilter);        HRESULT ( STDMETHODCALLTYPE *RemoveChain )(            IFilterChain * This,            /* [in] */ IBaseFilter *pStartFilter,            /* [in] */ IBaseFilter *pEndFilter);        END_INTERFACE    } IFilterChainVtbl;    interface IFilterChain    {        CONST_VTBL struct IFilterChainVtbl *lpVtbl;    };#ifdef COBJMACROS#define IFilterChain_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IFilterChain_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IFilterChain_Release(This)	\    (This)->lpVtbl -> Release(This)#define IFilterChain_StartChain(This,pStartFilter,pEndFilter)	\    (This)->lpVtbl -> StartChain(This,pStartFilter,pEndFilter)#define IFilterChain_PauseChain(This,pStartFilter,pEndFilter)	\    (This)->lpVtbl -> PauseChain(This,pStartFilter,pEndFilter)#define IFilterChain_StopChain(This,pStartFilter,pEndFilter)	\    (This)->lpVtbl -> StopChain(This,pStartFilter,pEndFilter)#define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter)	\    (This)->lpVtbl -> RemoveChain(This,pStartFilter,pEndFilter)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IFilterChain_StartChain_Proxy(    IFilterChain * This,    /* [in] */ IBaseFilter *pStartFilter,    /* [in] */ IBaseFilter *pEndFilter);void __RPC_STUB IFilterChain_StartChain_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterChain_PauseChain_Proxy(    IFilterChain * This,    /* [in] */ IBaseFilter *pStartFilter,    /* [in] */ IBaseFilter *pEndFilter);void __RPC_STUB IFilterChain_PauseChain_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterChain_StopChain_Proxy(    IFilterChain * This,    /* [in] */ IBaseFilter *pStartFilter,    /* [in] */ IBaseFilter *pEndFilter);void __RPC_STUB IFilterChain_StopChain_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IFilterChain_RemoveChain_Proxy(    IFilterChain * This,    /* [in] */ IBaseFilter *pStartFilter,    /* [in] */ IBaseFilter *pEndFilter);void __RPC_STUB IFilterChain_RemoveChain_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IFilterChain_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0381 *//* [local] */// Restore the previous setting for C4201 compiler warning#pragma warning(default:4201)#if 0typedef DWORD *LPDIRECTDRAW7;typedef DWORD *LPDIRECTDRAWSURFACE7;typedef DWORD *LPDDPIXELFORMAT;typedef DWORD *LPBITMAPINFOHEADER;typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0381_0001    {    DWORD dw1;    DWORD dw2;    } 	DDCOLORKEY;typedef DDCOLORKEY *LPDDCOLORKEY;#endif#include <ddraw.h>typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0381_0002    {	VMRSample_SyncPoint	= 0x1,	VMRSample_Preroll	= 0x2,	VMRSample_Discontinuity	= 0x4,	VMRSample_TimeValid	= 0x8    } 	VMRPresentationFlags;typedef struct tagVMRPRESENTATIONINFO    {    DWORD dwFlags;    LPDIRECTDRAWSURFACE7 lpSurf;    REFERENCE_TIME rtStart;    REFERENCE_TIME rtEnd;    SIZE szAspectRatio;    RECT rcSrc;    RECT rcDst;    DWORD dwTypeSpecificFlags;    DWORD dwInterlaceFlags;    } 	VMRPRESENTATIONINFO;extern RPC_IF_HANDLE __MIDL_itf_strmif_0381_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0381_v0_0_s_ifspec;#ifndef __IVMRImagePresenter_INTERFACE_DEFINED__#define __IVMRImagePresenter_INTERFACE_DEFINED__/* interface IVMRImagePresenter *//* [unique][helpstring][uuid][local][object][local] */EXTERN_C const IID IID_IVMRImagePresenter;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("CE704FE7-E71E-41fb-BAA2-C4403E1182F5")    IVMRImagePresenter : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE StartPresenting(            /* [in] */ DWORD_PTR dwUserID) = 0;        virtual HRESULT STDMETHODCALLTYPE StopPresenting(            /* [in] */ DWORD_PTR dwUserID) = 0;        virtual HRESULT STDMETHODCALLTYPE PresentImage(            /* [in] */ DWORD_PTR dwUserID,            /* [in] */ VMRPRESENTATIONINFO *lpPresInfo) = 0;    };#else 	/* C style interface */    typedef struct IVMRImagePresenterVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRImagePresenter * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRImagePresenter * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRImagePresenter * This);        HRESULT ( STDMETHODCALLTYPE *StartPresenting )(            IVMRImagePresenter * This,            /* [in] */ DWORD_PTR dwUserID);        HRESULT ( STDMETHODCALLTYPE *StopPresenting )(            IVMRImagePresenter * This,            /* [in] */ DWORD_PTR dwUserID);        HRESULT ( STDMETHODCALLTYPE *PresentImage )(            IVMRImagePresenter * This,            /* [in] */ DWORD_PTR dwUserID,            /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);        END_INTERFACE    } IVMRImagePresenterVtbl;    interface IVMRImagePresenter    {        CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRImagePresenter_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRImagePresenter_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRImagePresenter_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRImagePresenter_StartPresenting(This,dwUserID)	\    (This)->lpVtbl -> StartPresenting(This,dwUserID)#define IVMRImagePresenter_StopPresenting(This,dwUserID)	\    (This)->lpVtbl -> StopPresenting(This,dwUserID)#define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo)	\    (This)->lpVtbl -> PresentImage(This,dwUserID,lpPresInfo)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StartPresenting_Proxy(    IVMRImagePresenter * This,    /* [in] */ DWORD_PTR dwUserID);void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StopPresenting_Proxy(    IVMRImagePresenter * This,    /* [in] */ DWORD_PTR dwUserID);void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRImagePresenter_PresentImage_Proxy(    IVMRImagePresenter * This,    /* [in] */ DWORD_PTR dwUserID,    /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRImagePresenter_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0382 *//* [local] */typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0382_0001    {	AMAP_PIXELFORMAT_VALID	= 0x1,	AMAP_3D_TARGET	= 0x2,	AMAP_ALLOW_SYSMEM	= 0x4,	AMAP_FORCE_SYSMEM	= 0x8,	AMAP_DIRECTED_FLIP	= 0x10,	AMAP_DXVA_TARGET	= 0x20    } 	VMRSurfaceAllocationFlags;typedef struct tagVMRALLOCATIONINFO    {    DWORD dwFlags;    LPBITMAPINFOHEADER lpHdr;    LPDDPIXELFORMAT lpPixFmt;    SIZE szAspectRatio;    DWORD dwMinBuffers;    DWORD dwMaxBuffers;    DWORD dwInterlaceFlags;    SIZE szNativeSize;    } 	VMRALLOCATIONINFO;extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_s_ifspec;#ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__#define __IVMRSurfaceAllocator_INTERFACE_DEFINED__/* interface IVMRSurfaceAllocator *//* [unique][helpstring][uuid][local][object][local] */EXTERN_C const IID IID_IVMRSurfaceAllocator;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("31ce832e-4484-458b-8cca-f4d7e3db0b52")    IVMRSurfaceAllocator : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE AllocateSurface(            /* [in] */ DWORD_PTR dwUserID,            /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,            /* [out][in] */ DWORD *lpdwActualBuffers,            /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;        virtual HRESULT STDMETHODCALLTYPE FreeSurface(            /* [in] */ DWORD_PTR dwID) = 0;        virtual HRESULT STDMETHODCALLTYPE PrepareSurface(            /* [in] */ DWORD_PTR dwUserID,            /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,            /* [in] */ DWORD dwSurfaceFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE AdviseNotify(            /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0;    };#else 	/* C style interface */    typedef struct IVMRSurfaceAllocatorVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRSurfaceAllocator * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRSurfaceAllocator * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRSurfaceAllocator * This);        HRESULT ( STDMETHODCALLTYPE *AllocateSurface )(            IVMRSurfaceAllocator * This,            /* [in] */ DWORD_PTR dwUserID,            /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,            /* [out][in] */ DWORD *lpdwActualBuffers,            /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);        HRESULT ( STDMETHODCALLTYPE *FreeSurface )(            IVMRSurfaceAllocator * This,            /* [in] */ DWORD_PTR dwID);        HRESULT ( STDMETHODCALLTYPE *PrepareSurface )(            IVMRSurfaceAllocator * This,            /* [in] */ DWORD_PTR dwUserID,            /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,            /* [in] */ DWORD dwSurfaceFlags);        HRESULT ( STDMETHODCALLTYPE *AdviseNotify )(            IVMRSurfaceAllocator * This,            /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);        END_INTERFACE    } IVMRSurfaceAllocatorVtbl;    interface IVMRSurfaceAllocator    {        CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRSurfaceAllocator_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRSurfaceAllocator_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)	\    (This)->lpVtbl -> AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)#define IVMRSurfaceAllocator_FreeSurface(This,dwID)	\    (This)->lpVtbl -> FreeSurface(This,dwID)#define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)	\    (This)->lpVtbl -> PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)#define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify)	\    (This)->lpVtbl -> AdviseNotify(This,lpIVMRSurfAllocNotify)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AllocateSurface_Proxy(    IVMRSurfaceAllocator * This,    /* [in] */ DWORD_PTR dwUserID,    /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,    /* [out][in] */ DWORD *lpdwActualBuffers,    /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_FreeSurface_Proxy(    IVMRSurfaceAllocator * This,    /* [in] */ DWORD_PTR dwID);void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_PrepareSurface_Proxy(    IVMRSurfaceAllocator * This,    /* [in] */ DWORD_PTR dwUserID,    /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,    /* [in] */ DWORD dwSurfaceFlags);void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AdviseNotify_Proxy(    IVMRSurfaceAllocator * This,    /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRSurfaceAllocator_INTERFACE_DEFINED__ */#ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__#define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__/* interface IVMRSurfaceAllocatorNotify *//* [unique][helpstring][uuid][local][object][local] */EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("aada05a8-5a4e-4729-af0b-cea27aed51e2")    IVMRSurfaceAllocatorNotify : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator(            /* [in] */ DWORD_PTR dwUserID,            /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0;        virtual HRESULT STDMETHODCALLTYPE SetDDrawDevice(            /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,            /* [in] */ HMONITOR hMonitor) = 0;        virtual HRESULT STDMETHODCALLTYPE ChangeDDrawDevice(            /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,            /* [in] */ HMONITOR hMonitor) = 0;        virtual HRESULT STDMETHODCALLTYPE RestoreDDrawSurfaces( void) = 0;        virtual HRESULT STDMETHODCALLTYPE NotifyEvent(            /* [in] */ LONG EventCode,            /* [in] */ LONG_PTR Param1,            /* [in] */ LONG_PTR Param2) = 0;        virtual HRESULT STDMETHODCALLTYPE SetBorderColor(            /* [in] */ COLORREF clrBorder) = 0;    };#else 	/* C style interface */    typedef struct IVMRSurfaceAllocatorNotifyVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRSurfaceAllocatorNotify * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRSurfaceAllocatorNotify * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRSurfaceAllocatorNotify * This);        HRESULT ( STDMETHODCALLTYPE *AdviseSurfaceAllocator )(            IVMRSurfaceAllocatorNotify * This,            /* [in] */ DWORD_PTR dwUserID,            /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);        HRESULT ( STDMETHODCALLTYPE *SetDDrawDevice )(            IVMRSurfaceAllocatorNotify * This,            /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,            /* [in] */ HMONITOR hMonitor);        HRESULT ( STDMETHODCALLTYPE *ChangeDDrawDevice )(            IVMRSurfaceAllocatorNotify * This,            /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,            /* [in] */ HMONITOR hMonitor);        HRESULT ( STDMETHODCALLTYPE *RestoreDDrawSurfaces )(            IVMRSurfaceAllocatorNotify * This);        HRESULT ( STDMETHODCALLTYPE *NotifyEvent )(            IVMRSurfaceAllocatorNotify * This,            /* [in] */ LONG EventCode,            /* [in] */ LONG_PTR Param1,            /* [in] */ LONG_PTR Param2);        HRESULT ( STDMETHODCALLTYPE *SetBorderColor )(            IVMRSurfaceAllocatorNotify * This,            /* [in] */ COLORREF clrBorder);        END_INTERFACE    } IVMRSurfaceAllocatorNotifyVtbl;    interface IVMRSurfaceAllocatorNotify    {        CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRSurfaceAllocatorNotify_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRSurfaceAllocatorNotify_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)	\    (This)->lpVtbl -> AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)#define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor)	\    (This)->lpVtbl -> SetDDrawDevice(This,lpDDrawDevice,hMonitor)#define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)	\    (This)->lpVtbl -> ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)#define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This)	\    (This)->lpVtbl -> RestoreDDrawSurfaces(This)#define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2)	\    (This)->lpVtbl -> NotifyEvent(This,EventCode,Param1,Param2)#define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder)	\    (This)->lpVtbl -> SetBorderColor(This,clrBorder)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy(    IVMRSurfaceAllocatorNotify * This,    /* [in] */ DWORD_PTR dwUserID,    /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy(    IVMRSurfaceAllocatorNotify * This,    /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,    /* [in] */ HMONITOR hMonitor);void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy(    IVMRSurfaceAllocatorNotify * This,    /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,    /* [in] */ HMONITOR hMonitor);void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy(    IVMRSurfaceAllocatorNotify * This);void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy(    IVMRSurfaceAllocatorNotify * This,    /* [in] */ LONG EventCode,    /* [in] */ LONG_PTR Param1,    /* [in] */ LONG_PTR Param2);void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy(    IVMRSurfaceAllocatorNotify * This,    /* [in] */ COLORREF clrBorder);void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0384 *//* [local] */typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0384_0001    {	VMR_ARMODE_NONE	= 0,	VMR_ARMODE_LETTER_BOX	= VMR_ARMODE_NONE + 1    } 	VMR_ASPECT_RATIO_MODE;extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_s_ifspec;#ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__#define __IVMRWindowlessControl_INTERFACE_DEFINED__/* interface IVMRWindowlessControl *//* [unique][helpstring][uuid][local][object][local] */EXTERN_C const IID IID_IVMRWindowlessControl;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("0eb1088c-4dcd-46f0-878f-39dae86a51b7")    IVMRWindowlessControl : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize(            /* [out] */ LONG *lpWidth,            /* [out] */ LONG *lpHeight,            /* [out] */ LONG *lpARWidth,            /* [out] */ LONG *lpARHeight) = 0;        virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize(            /* [out] */ LONG *lpWidth,            /* [out] */ LONG *lpHeight) = 0;        virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize(            /* [out] */ LONG *lpWidth,            /* [out] */ LONG *lpHeight) = 0;        virtual HRESULT STDMETHODCALLTYPE SetVideoPosition(            /* [in] */ const LPRECT lpSRCRect,            /* [in] */ const LPRECT lpDSTRect) = 0;        virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(            /* [out] */ LPRECT lpSRCRect,            /* [out] */ LPRECT lpDSTRect) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode(            /* [out] */ DWORD *lpAspectRatioMode) = 0;        virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode(            /* [in] */ DWORD AspectRatioMode) = 0;        virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow(            /* [in] */ HWND hwnd) = 0;        virtual HRESULT STDMETHODCALLTYPE RepaintVideo(            /* [in] */ HWND hwnd,            /* [in] */ HDC hdc) = 0;        virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( void) = 0;        virtual HRESULT STDMETHODCALLTYPE GetCurrentImage(            /* [out] */ BYTE **lpDib) = 0;        virtual HRESULT STDMETHODCALLTYPE SetBorderColor(            /* [in] */ COLORREF Clr) = 0;        virtual HRESULT STDMETHODCALLTYPE GetBorderColor(            /* [out] */ COLORREF *lpClr) = 0;        virtual HRESULT STDMETHODCALLTYPE SetColorKey(            /* [in] */ COLORREF Clr) = 0;        virtual HRESULT STDMETHODCALLTYPE GetColorKey(            /* [out] */ COLORREF *lpClr) = 0;    };#else 	/* C style interface */    typedef struct IVMRWindowlessControlVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRWindowlessControl * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRWindowlessControl * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRWindowlessControl * This);        HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )(            IVMRWindowlessControl * This,            /* [out] */ LONG *lpWidth,            /* [out] */ LONG *lpHeight,            /* [out] */ LONG *lpARWidth,            /* [out] */ LONG *lpARHeight);        HRESULT ( STDMETHODCALLTYPE *GetMinIdealVideoSize )(            IVMRWindowlessControl * This,            /* [out] */ LONG *lpWidth,            /* [out] */ LONG *lpHeight);        HRESULT ( STDMETHODCALLTYPE *GetMaxIdealVideoSize )(            IVMRWindowlessControl * This,            /* [out] */ LONG *lpWidth,            /* [out] */ LONG *lpHeight);        HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )(            IVMRWindowlessControl * This,            /* [in] */ const LPRECT lpSRCRect,            /* [in] */ const LPRECT lpDSTRect);        HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )(            IVMRWindowlessControl * This,            /* [out] */ LPRECT lpSRCRect,            /* [out] */ LPRECT lpDSTRect);        HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )(            IVMRWindowlessControl * This,            /* [out] */ DWORD *lpAspectRatioMode);        HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )(            IVMRWindowlessControl * This,            /* [in] */ DWORD AspectRatioMode);        HRESULT ( STDMETHODCALLTYPE *SetVideoClippingWindow )(            IVMRWindowlessControl * This,            /* [in] */ HWND hwnd);        HRESULT ( STDMETHODCALLTYPE *RepaintVideo )(            IVMRWindowlessControl * This,            /* [in] */ HWND hwnd,            /* [in] */ HDC hdc);        HRESULT ( STDMETHODCALLTYPE *DisplayModeChanged )(            IVMRWindowlessControl * This);        HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )(            IVMRWindowlessControl * This,            /* [out] */ BYTE **lpDib);        HRESULT ( STDMETHODCALLTYPE *SetBorderColor )(            IVMRWindowlessControl * This,            /* [in] */ COLORREF Clr);        HRESULT ( STDMETHODCALLTYPE *GetBorderColor )(            IVMRWindowlessControl * This,            /* [out] */ COLORREF *lpClr);        HRESULT ( STDMETHODCALLTYPE *SetColorKey )(            IVMRWindowlessControl * This,            /* [in] */ COLORREF Clr);        HRESULT ( STDMETHODCALLTYPE *GetColorKey )(            IVMRWindowlessControl * This,            /* [out] */ COLORREF *lpClr);        END_INTERFACE    } IVMRWindowlessControlVtbl;    interface IVMRWindowlessControl    {        CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRWindowlessControl_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRWindowlessControl_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)	\    (This)->lpVtbl -> GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)#define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight)	\    (This)->lpVtbl -> GetMinIdealVideoSize(This,lpWidth,lpHeight)#define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight)	\    (This)->lpVtbl -> GetMaxIdealVideoSize(This,lpWidth,lpHeight)#define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect)	\    (This)->lpVtbl -> SetVideoPosition(This,lpSRCRect,lpDSTRect)#define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect)	\    (This)->lpVtbl -> GetVideoPosition(This,lpSRCRect,lpDSTRect)#define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode)	\    (This)->lpVtbl -> GetAspectRatioMode(This,lpAspectRatioMode)#define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode)	\    (This)->lpVtbl -> SetAspectRatioMode(This,AspectRatioMode)#define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd)	\    (This)->lpVtbl -> SetVideoClippingWindow(This,hwnd)#define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc)	\    (This)->lpVtbl -> RepaintVideo(This,hwnd,hdc)#define IVMRWindowlessControl_DisplayModeChanged(This)	\    (This)->lpVtbl -> DisplayModeChanged(This)#define IVMRWindowlessControl_GetCurrentImage(This,lpDib)	\    (This)->lpVtbl -> GetCurrentImage(This,lpDib)#define IVMRWindowlessControl_SetBorderColor(This,Clr)	\    (This)->lpVtbl -> SetBorderColor(This,Clr)#define IVMRWindowlessControl_GetBorderColor(This,lpClr)	\    (This)->lpVtbl -> GetBorderColor(This,lpClr)#define IVMRWindowlessControl_SetColorKey(This,Clr)	\    (This)->lpVtbl -> SetColorKey(This,Clr)#define IVMRWindowlessControl_GetColorKey(This,lpClr)	\    (This)->lpVtbl -> GetColorKey(This,lpClr)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetNativeVideoSize_Proxy(    IVMRWindowlessControl * This,    /* [out] */ LONG *lpWidth,    /* [out] */ LONG *lpHeight,    /* [out] */ LONG *lpARWidth,    /* [out] */ LONG *lpARHeight);void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMinIdealVideoSize_Proxy(    IVMRWindowlessControl * This,    /* [out] */ LONG *lpWidth,    /* [out] */ LONG *lpHeight);void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy(    IVMRWindowlessControl * This,    /* [out] */ LONG *lpWidth,    /* [out] */ LONG *lpHeight);void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoPosition_Proxy(    IVMRWindowlessControl * This,    /* [in] */ const LPRECT lpSRCRect,    /* [in] */ const LPRECT lpDSTRect);void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetVideoPosition_Proxy(    IVMRWindowlessControl * This,    /* [out] */ LPRECT lpSRCRect,    /* [out] */ LPRECT lpDSTRect);void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetAspectRatioMode_Proxy(    IVMRWindowlessControl * This,    /* [out] */ DWORD *lpAspectRatioMode);void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetAspectRatioMode_Proxy(    IVMRWindowlessControl * This,    /* [in] */ DWORD AspectRatioMode);void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoClippingWindow_Proxy(    IVMRWindowlessControl * This,    /* [in] */ HWND hwnd);void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_RepaintVideo_Proxy(    IVMRWindowlessControl * This,    /* [in] */ HWND hwnd,    /* [in] */ HDC hdc);void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_DisplayModeChanged_Proxy(    IVMRWindowlessControl * This);void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetCurrentImage_Proxy(    IVMRWindowlessControl * This,    /* [out] */ BYTE **lpDib);void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetBorderColor_Proxy(    IVMRWindowlessControl * This,    /* [in] */ COLORREF Clr);void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetBorderColor_Proxy(    IVMRWindowlessControl * This,    /* [out] */ COLORREF *lpClr);void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetColorKey_Proxy(    IVMRWindowlessControl * This,    /* [in] */ COLORREF Clr);void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetColorKey_Proxy(    IVMRWindowlessControl * This,    /* [out] */ COLORREF *lpClr);void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRWindowlessControl_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0385 *//* [local] */typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0385_0001    {	MixerPref_NoDecimation	= 0x1,	MixerPref_DecimateOutput	= 0x2,	MixerPref_DecimateMask	= 0xf,	MixerPref_BiLinearFiltering	= 0x10,	MixerPref_PointFiltering	= 0x20,	MixerPref_FilteringMask	= 0xf0,	MixerPref_RenderTargetRGB	= 0x100,	MixerPref_RenderTargetYUV420	= 0x200,	MixerPref_RenderTargetYUV422	= 0x400,	MixerPref_RenderTargetYUV444	= 0x800,	MixerPref_RenderTargetReserved	= 0xf000,	MixerPref_RenderTargetMask	= 0xff00    } 	VMRMixerPrefs;typedef struct _NORMALIZEDRECT    {    float left;    float top;    float right;    float bottom;    } 	NORMALIZEDRECT;typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;extern RPC_IF_HANDLE __MIDL_itf_strmif_0385_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0385_v0_0_s_ifspec;#ifndef __IVMRMixerControl_INTERFACE_DEFINED__#define __IVMRMixerControl_INTERFACE_DEFINED__/* interface IVMRMixerControl *//* [unique][helpstring][uuid][local][object][local] */EXTERN_C const IID IID_IVMRMixerControl;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("1c1a17b0-bed0-415d-974b-dc6696131599")    IVMRMixerControl : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetAlpha(            /* [in] */ DWORD dwStreamID,            /* [in] */ float Alpha) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAlpha(            /* [in] */ DWORD dwStreamID,            /* [out] */ float *pAlpha) = 0;        virtual HRESULT STDMETHODCALLTYPE SetZOrder(            /* [in] */ DWORD dwStreamID,            /* [in] */ DWORD dwZ) = 0;        virtual HRESULT STDMETHODCALLTYPE GetZOrder(            /* [in] */ DWORD dwStreamID,            /* [out] */ DWORD *pZ) = 0;        virtual HRESULT STDMETHODCALLTYPE SetOutputRect(            /* [in] */ DWORD dwStreamID,            /* [in] */ const NORMALIZEDRECT *pRect) = 0;        virtual HRESULT STDMETHODCALLTYPE GetOutputRect(            /* [in] */ DWORD dwStreamID,            /* [out] */ NORMALIZEDRECT *pRect) = 0;        virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr(            /* [in] */ COLORREF ClrBkg) = 0;        virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr(            /* [in] */ COLORREF *lpClrBkg) = 0;        virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs(            /* [in] */ DWORD dwMixerPrefs) = 0;        virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs(            /* [out] */ DWORD *pdwMixerPrefs) = 0;    };#else 	/* C style interface */    typedef struct IVMRMixerControlVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRMixerControl * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRMixerControl * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRMixerControl * This);        HRESULT ( STDMETHODCALLTYPE *SetAlpha )(            IVMRMixerControl * This,            /* [in] */ DWORD dwStreamID,            /* [in] */ float Alpha);        HRESULT ( STDMETHODCALLTYPE *GetAlpha )(            IVMRMixerControl * This,            /* [in] */ DWORD dwStreamID,            /* [out] */ float *pAlpha);        HRESULT ( STDMETHODCALLTYPE *SetZOrder )(            IVMRMixerControl * This,            /* [in] */ DWORD dwStreamID,            /* [in] */ DWORD dwZ);        HRESULT ( STDMETHODCALLTYPE *GetZOrder )(            IVMRMixerControl * This,            /* [in] */ DWORD dwStreamID,            /* [out] */ DWORD *pZ);        HRESULT ( STDMETHODCALLTYPE *SetOutputRect )(            IVMRMixerControl * This,            /* [in] */ DWORD dwStreamID,            /* [in] */ const NORMALIZEDRECT *pRect);        HRESULT ( STDMETHODCALLTYPE *GetOutputRect )(            IVMRMixerControl * This,            /* [in] */ DWORD dwStreamID,            /* [out] */ NORMALIZEDRECT *pRect);        HRESULT ( STDMETHODCALLTYPE *SetBackgroundClr )(            IVMRMixerControl * This,            /* [in] */ COLORREF ClrBkg);        HRESULT ( STDMETHODCALLTYPE *GetBackgroundClr )(            IVMRMixerControl * This,            /* [in] */ COLORREF *lpClrBkg);        HRESULT ( STDMETHODCALLTYPE *SetMixingPrefs )(            IVMRMixerControl * This,            /* [in] */ DWORD dwMixerPrefs);        HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )(            IVMRMixerControl * This,            /* [out] */ DWORD *pdwMixerPrefs);        END_INTERFACE    } IVMRMixerControlVtbl;    interface IVMRMixerControl    {        CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRMixerControl_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRMixerControl_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRMixerControl_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha)	\    (This)->lpVtbl -> SetAlpha(This,dwStreamID,Alpha)#define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha)	\    (This)->lpVtbl -> GetAlpha(This,dwStreamID,pAlpha)#define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ)	\    (This)->lpVtbl -> SetZOrder(This,dwStreamID,dwZ)#define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ)	\    (This)->lpVtbl -> GetZOrder(This,dwStreamID,pZ)#define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect)	\    (This)->lpVtbl -> SetOutputRect(This,dwStreamID,pRect)#define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect)	\    (This)->lpVtbl -> GetOutputRect(This,dwStreamID,pRect)#define IVMRMixerControl_SetBackgroundClr(This,ClrBkg)	\    (This)->lpVtbl -> SetBackgroundClr(This,ClrBkg)#define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg)	\    (This)->lpVtbl -> GetBackgroundClr(This,lpClrBkg)#define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs)	\    (This)->lpVtbl -> SetMixingPrefs(This,dwMixerPrefs)#define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs)	\    (This)->lpVtbl -> GetMixingPrefs(This,pdwMixerPrefs)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetAlpha_Proxy(    IVMRMixerControl * This,    /* [in] */ DWORD dwStreamID,    /* [in] */ float Alpha);void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetAlpha_Proxy(    IVMRMixerControl * This,    /* [in] */ DWORD dwStreamID,    /* [out] */ float *pAlpha);void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetZOrder_Proxy(    IVMRMixerControl * This,    /* [in] */ DWORD dwStreamID,    /* [in] */ DWORD dwZ);void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetZOrder_Proxy(    IVMRMixerControl * This,    /* [in] */ DWORD dwStreamID,    /* [out] */ DWORD *pZ);void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetOutputRect_Proxy(    IVMRMixerControl * This,    /* [in] */ DWORD dwStreamID,    /* [in] */ const NORMALIZEDRECT *pRect);void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetOutputRect_Proxy(    IVMRMixerControl * This,    /* [in] */ DWORD dwStreamID,    /* [out] */ NORMALIZEDRECT *pRect);void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetBackgroundClr_Proxy(    IVMRMixerControl * This,    /* [in] */ COLORREF ClrBkg);void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetBackgroundClr_Proxy(    IVMRMixerControl * This,    /* [in] */ COLORREF *lpClrBkg);void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetMixingPrefs_Proxy(    IVMRMixerControl * This,    /* [in] */ DWORD dwMixerPrefs);void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetMixingPrefs_Proxy(    IVMRMixerControl * This,    /* [out] */ DWORD *pdwMixerPrefs);void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRMixerControl_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0386 *//* [local] */typedef struct tagVMRGUID    {
#ifdef __MINGW32_MAJOR_VERSION    ::GUID *pGUID;    ::GUID GUID;
#else
    GUID *pGUID;    GUID GUID;
#endif    } 	VMRGUID;typedef struct tagVMRMONITORINFO    {    VMRGUID guid;    RECT rcMonitor;    HMONITOR hMon;    DWORD dwFlags;    wchar_t szDevice[ 32 ];    wchar_t szDescription[ 256 ];    LARGE_INTEGER liDriverVersion;    DWORD dwVendorId;    DWORD dwDeviceId;    DWORD dwSubSysId;    DWORD dwRevision;    } 	VMRMONITORINFO;extern RPC_IF_HANDLE __MIDL_itf_strmif_0386_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0386_v0_0_s_ifspec;#ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__#define __IVMRMonitorConfig_INTERFACE_DEFINED__/* interface IVMRMonitorConfig *//* [unique][helpstring][uuid][local][object] */EXTERN_C const IID IID_IVMRMonitorConfig;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("9cf0b1b6-fbaa-4b7f-88cf-cf1f130a0dce")    IVMRMonitorConfig : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetMonitor(            /* [in] */ const VMRGUID *pGUID) = 0;        virtual HRESULT STDMETHODCALLTYPE GetMonitor(            /* [out] */ VMRGUID *pGUID) = 0;        virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor(            /* [in] */ const VMRGUID *pGUID) = 0;        virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor(            /* [out] */ VMRGUID *pGUID) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors(            /* [size_is][out] */ VMRMONITORINFO *pInfo,            /* [in] */ DWORD dwMaxInfoArraySize,            /* [out] */ DWORD *pdwNumDevices) = 0;    };#else 	/* C style interface */    typedef struct IVMRMonitorConfigVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRMonitorConfig * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRMonitorConfig * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRMonitorConfig * This);        HRESULT ( STDMETHODCALLTYPE *SetMonitor )(            IVMRMonitorConfig * This,            /* [in] */ const VMRGUID *pGUID);        HRESULT ( STDMETHODCALLTYPE *GetMonitor )(            IVMRMonitorConfig * This,            /* [out] */ VMRGUID *pGUID);        HRESULT ( STDMETHODCALLTYPE *SetDefaultMonitor )(            IVMRMonitorConfig * This,            /* [in] */ const VMRGUID *pGUID);        HRESULT ( STDMETHODCALLTYPE *GetDefaultMonitor )(            IVMRMonitorConfig * This,            /* [out] */ VMRGUID *pGUID);        HRESULT ( STDMETHODCALLTYPE *GetAvailableMonitors )(            IVMRMonitorConfig * This,            /* [size_is][out] */ VMRMONITORINFO *pInfo,            /* [in] */ DWORD dwMaxInfoArraySize,            /* [out] */ DWORD *pdwNumDevices);        END_INTERFACE    } IVMRMonitorConfigVtbl;    interface IVMRMonitorConfig    {        CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRMonitorConfig_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRMonitorConfig_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRMonitorConfig_SetMonitor(This,pGUID)	\    (This)->lpVtbl -> SetMonitor(This,pGUID)#define IVMRMonitorConfig_GetMonitor(This,pGUID)	\    (This)->lpVtbl -> GetMonitor(This,pGUID)#define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID)	\    (This)->lpVtbl -> SetDefaultMonitor(This,pGUID)#define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID)	\    (This)->lpVtbl -> GetDefaultMonitor(This,pGUID)#define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)	\    (This)->lpVtbl -> GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetMonitor_Proxy(    IVMRMonitorConfig * This,    /* [in] */ const VMRGUID *pGUID);void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetMonitor_Proxy(    IVMRMonitorConfig * This,    /* [out] */ VMRGUID *pGUID);void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetDefaultMonitor_Proxy(    IVMRMonitorConfig * This,    /* [in] */ const VMRGUID *pGUID);void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetDefaultMonitor_Proxy(    IVMRMonitorConfig * This,    /* [out] */ VMRGUID *pGUID);void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetAvailableMonitors_Proxy(    IVMRMonitorConfig * This,    /* [size_is][out] */ VMRMONITORINFO *pInfo,    /* [in] */ DWORD dwMaxInfoArraySize,    /* [out] */ DWORD *pdwNumDevices);void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRMonitorConfig_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0387 *//* [local] */typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0387_0001    {	RenderPrefs_ForceOffscreen	= 0x1,	RenderPrefs_ForceOverlays	= 0x2,	RenderPrefs_AllowOverlays	= 0,	RenderPrefs_AllowOffscreen	= 0,	RenderPrefs_DoNotRenderColorKeyAndBorder	= 0x8,	RenderPrefs_RestrictToInitialMonitor	= 0x10,	RenderPrefs_PreferAGPMemWhenMixing	= 0x20,	RenderPrefs_Mask	= 0x3f    } 	VMRRenderPrefs;typedef /* [public] */enum __MIDL___MIDL_itf_strmif_0387_0002    {	VMRMode_Windowed	= 0x1,	VMRMode_Windowless	= 0x2,	VMRMode_Renderless	= 0x4,	VMRMode_Mask	= 0x7    } 	VMRMode;enum __MIDL___MIDL_itf_strmif_0387_0003    {	MAX_NUMBER_OF_STREAMS	= 16    } ;extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec;#ifndef __IVMRFilterConfig_INTERFACE_DEFINED__#define __IVMRFilterConfig_INTERFACE_DEFINED__/* interface IVMRFilterConfig *//* [unique][helpstring][uuid][local][object] */EXTERN_C const IID IID_IVMRFilterConfig;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("9e5530c5-7034-48b4-bb46-0b8a6efc8e36")    IVMRFilterConfig : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetImageCompositor(            /* [in] */ IVMRImageCompositor *lpVMRImgCompositor) = 0;        virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams(            /* [in] */ DWORD dwMaxStreams) = 0;        virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams(            /* [out] */ DWORD *pdwMaxStreams) = 0;        virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs(            /* [in] */ DWORD dwRenderFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs(            /* [out] */ DWORD *pdwRenderFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE SetRenderingMode(            /* [in] */ DWORD Mode) = 0;        virtual HRESULT STDMETHODCALLTYPE GetRenderingMode(            /* [out] */ DWORD *pMode) = 0;    };#else 	/* C style interface */    typedef struct IVMRFilterConfigVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRFilterConfig * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRFilterConfig * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRFilterConfig * This);        HRESULT ( STDMETHODCALLTYPE *SetImageCompositor )(            IVMRFilterConfig * This,            /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);        HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )(            IVMRFilterConfig * This,            /* [in] */ DWORD dwMaxStreams);        HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )(            IVMRFilterConfig * This,            /* [out] */ DWORD *pdwMaxStreams);        HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )(            IVMRFilterConfig * This,            /* [in] */ DWORD dwRenderFlags);        HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )(            IVMRFilterConfig * This,            /* [out] */ DWORD *pdwRenderFlags);        HRESULT ( STDMETHODCALLTYPE *SetRenderingMode )(            IVMRFilterConfig * This,            /* [in] */ DWORD Mode);        HRESULT ( STDMETHODCALLTYPE *GetRenderingMode )(            IVMRFilterConfig * This,            /* [out] */ DWORD *pMode);        END_INTERFACE    } IVMRFilterConfigVtbl;    interface IVMRFilterConfig    {        CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRFilterConfig_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRFilterConfig_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRFilterConfig_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor)	\    (This)->lpVtbl -> SetImageCompositor(This,lpVMRImgCompositor)#define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams)	\    (This)->lpVtbl -> SetNumberOfStreams(This,dwMaxStreams)#define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams)	\    (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams)#define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags)	\    (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)#define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags)	\    (This)->lpVtbl -> GetRenderingPrefs(This,pdwRenderFlags)#define IVMRFilterConfig_SetRenderingMode(This,Mode)	\    (This)->lpVtbl -> SetRenderingMode(This,Mode)#define IVMRFilterConfig_GetRenderingMode(This,pMode)	\    (This)->lpVtbl -> GetRenderingMode(This,pMode)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetImageCompositor_Proxy(    IVMRFilterConfig * This,    /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetNumberOfStreams_Proxy(    IVMRFilterConfig * This,    /* [in] */ DWORD dwMaxStreams);void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetNumberOfStreams_Proxy(    IVMRFilterConfig * This,    /* [out] */ DWORD *pdwMaxStreams);void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingPrefs_Proxy(    IVMRFilterConfig * This,    /* [in] */ DWORD dwRenderFlags);void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingPrefs_Proxy(    IVMRFilterConfig * This,    /* [out] */ DWORD *pdwRenderFlags);void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingMode_Proxy(    IVMRFilterConfig * This,    /* [in] */ DWORD Mode);void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingMode_Proxy(    IVMRFilterConfig * This,    /* [out] */ DWORD *pMode);void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRFilterConfig_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0388 *//* [local] */typedef struct _VMRALPHABITMAP    {    DWORD dwFlags;    HDC hdc;    LPDIRECTDRAWSURFACE7 pDDS;    RECT rSrc;    NORMALIZEDRECT rDest;    FLOAT fAlpha;    COLORREF clrSrcKey;    } 	VMRALPHABITMAP;typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP;#define VMRBITMAP_DISABLE            0x00000001#define VMRBITMAP_HDC                0x00000002#define VMRBITMAP_ENTIREDDS          0x00000004#define VMRBITMAP_SRCCOLORKEY        0x00000008#define VMRBITMAP_SRCRECT            0x00000010extern RPC_IF_HANDLE __MIDL_itf_strmif_0388_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0388_v0_0_s_ifspec;#ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__#define __IVMRMixerBitmap_INTERFACE_DEFINED__/* interface IVMRMixerBitmap *//* [unique][helpstring][uuid][local][object] */EXTERN_C const IID IID_IVMRMixerBitmap;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("1E673275-0257-40aa-AF20-7C608D4A0428")    IVMRMixerBitmap : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap(            /* [in] */ const VMRALPHABITMAP *pBmpParms) = 0;        virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters(            /* [in] */ PVMRALPHABITMAP pBmpParms) = 0;        virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters(            /* [out] */ PVMRALPHABITMAP pBmpParms) = 0;    };#else 	/* C style interface */    typedef struct IVMRMixerBitmapVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRMixerBitmap * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRMixerBitmap * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRMixerBitmap * This);        HRESULT ( STDMETHODCALLTYPE *SetAlphaBitmap )(            IVMRMixerBitmap * This,            /* [in] */ const VMRALPHABITMAP *pBmpParms);        HRESULT ( STDMETHODCALLTYPE *UpdateAlphaBitmapParameters )(            IVMRMixerBitmap * This,            /* [in] */ PVMRALPHABITMAP pBmpParms);        HRESULT ( STDMETHODCALLTYPE *GetAlphaBitmapParameters )(            IVMRMixerBitmap * This,            /* [out] */ PVMRALPHABITMAP pBmpParms);        END_INTERFACE    } IVMRMixerBitmapVtbl;    interface IVMRMixerBitmap    {        CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRMixerBitmap_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRMixerBitmap_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms)	\    (This)->lpVtbl -> SetAlphaBitmap(This,pBmpParms)#define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms)	\    (This)->lpVtbl -> UpdateAlphaBitmapParameters(This,pBmpParms)#define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms)	\    (This)->lpVtbl -> GetAlphaBitmapParameters(This,pBmpParms)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_SetAlphaBitmap_Proxy(    IVMRMixerBitmap * This,    /* [in] */ const VMRALPHABITMAP *pBmpParms);void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy(    IVMRMixerBitmap * This,    /* [in] */ PVMRALPHABITMAP pBmpParms);void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy(    IVMRMixerBitmap * This,    /* [out] */ PVMRALPHABITMAP pBmpParms);void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRMixerBitmap_INTERFACE_DEFINED__ *//* interface __MIDL_itf_strmif_0389 *//* [local] */typedef struct _VMRVIDEOSTREAMINFO    {    LPDIRECTDRAWSURFACE7 pddsVideoSurface;    DWORD dwWidth;    DWORD dwHeight;    DWORD dwStrmID;    FLOAT fAlpha;    DDCOLORKEY ddClrKey;    NORMALIZEDRECT rNormal;    } 	VMRVIDEOSTREAMINFO;extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_c_ifspec;extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_s_ifspec;#ifndef __IVMRImageCompositor_INTERFACE_DEFINED__#define __IVMRImageCompositor_INTERFACE_DEFINED__/* interface IVMRImageCompositor *//* [unique][helpstring][uuid][local][object][local] */EXTERN_C const IID IID_IVMRImageCompositor;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("7a4fb5af-479f-4074-bb40-ce6722e43c82")    IVMRImageCompositor : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE InitCompositionTarget(            /* [in] */ IUnknown *pD3DDevice,            /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;        virtual HRESULT STDMETHODCALLTYPE TermCompositionTarget(            /* [in] */ IUnknown *pD3DDevice,            /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;        virtual HRESULT STDMETHODCALLTYPE SetStreamMediaType(            /* [in] */ DWORD dwStrmID,            /* [in] */ AM_MEDIA_TYPE *pmt,            /* [in] */ BOOL fTexture) = 0;        virtual HRESULT STDMETHODCALLTYPE CompositeImage(            /* [in] */ IUnknown *pD3DDevice,            /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,            /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,            /* [in] */ REFERENCE_TIME rtStart,            /* [in] */ REFERENCE_TIME rtEnd,            /* [in] */ DWORD dwClrBkGnd,            /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,            /* [in] */ UINT cStreams) = 0;    };#else 	/* C style interface */    typedef struct IVMRImageCompositorVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRImageCompositor * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRImageCompositor * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRImageCompositor * This);        HRESULT ( STDMETHODCALLTYPE *InitCompositionTarget )(            IVMRImageCompositor * This,            /* [in] */ IUnknown *pD3DDevice,            /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);        HRESULT ( STDMETHODCALLTYPE *TermCompositionTarget )(            IVMRImageCompositor * This,            /* [in] */ IUnknown *pD3DDevice,            /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);        HRESULT ( STDMETHODCALLTYPE *SetStreamMediaType )(            IVMRImageCompositor * This,            /* [in] */ DWORD dwStrmID,            /* [in] */ AM_MEDIA_TYPE *pmt,            /* [in] */ BOOL fTexture);        HRESULT ( STDMETHODCALLTYPE *CompositeImage )(            IVMRImageCompositor * This,            /* [in] */ IUnknown *pD3DDevice,            /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,            /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,            /* [in] */ REFERENCE_TIME rtStart,            /* [in] */ REFERENCE_TIME rtEnd,            /* [in] */ DWORD dwClrBkGnd,            /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,            /* [in] */ UINT cStreams);        END_INTERFACE    } IVMRImageCompositorVtbl;    interface IVMRImageCompositor    {        CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRImageCompositor_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRImageCompositor_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRImageCompositor_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)	\    (This)->lpVtbl -> InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)#define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)	\    (This)->lpVtbl -> TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)#define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture)	\    (This)->lpVtbl -> SetStreamMediaType(This,dwStrmID,pmt,fTexture)#define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)	\    (This)->lpVtbl -> CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRImageCompositor_InitCompositionTarget_Proxy(    IVMRImageCompositor * This,    /* [in] */ IUnknown *pD3DDevice,    /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRImageCompositor_TermCompositionTarget_Proxy(    IVMRImageCompositor * This,    /* [in] */ IUnknown *pD3DDevice,    /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRImageCompositor_SetStreamMediaType_Proxy(    IVMRImageCompositor * This,    /* [in] */ DWORD dwStrmID,    /* [in] */ AM_MEDIA_TYPE *pmt,    /* [in] */ BOOL fTexture);void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRImageCompositor_CompositeImage_Proxy(    IVMRImageCompositor * This,    /* [in] */ IUnknown *pD3DDevice,    /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,    /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,    /* [in] */ REFERENCE_TIME rtStart,    /* [in] */ REFERENCE_TIME rtEnd,    /* [in] */ DWORD dwClrBkGnd,    /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,    /* [in] */ UINT cStreams);void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRImageCompositor_INTERFACE_DEFINED__ */#ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__#define __IVMRVideoStreamControl_INTERFACE_DEFINED__/* interface IVMRVideoStreamControl *//* [unique][helpstring][uuid][local][object] */EXTERN_C const IID IID_IVMRVideoStreamControl;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("058d1f11-2a54-4bef-bd54-df706626b727")    IVMRVideoStreamControl : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetColorKey(            /* [in] */ LPDDCOLORKEY lpClrKey) = 0;        virtual HRESULT STDMETHODCALLTYPE GetColorKey(            /* [out] */ LPDDCOLORKEY lpClrKey) = 0;        virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState(            /* [in] */ BOOL fActive) = 0;        virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState(            /* [out] */ BOOL *lpfActive) = 0;    };#else 	/* C style interface */    typedef struct IVMRVideoStreamControlVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRVideoStreamControl * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRVideoStreamControl * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRVideoStreamControl * This);        HRESULT ( STDMETHODCALLTYPE *SetColorKey )(            IVMRVideoStreamControl * This,            /* [in] */ LPDDCOLORKEY lpClrKey);        HRESULT ( STDMETHODCALLTYPE *GetColorKey )(            IVMRVideoStreamControl * This,            /* [out] */ LPDDCOLORKEY lpClrKey);        HRESULT ( STDMETHODCALLTYPE *SetStreamActiveState )(            IVMRVideoStreamControl * This,            /* [in] */ BOOL fActive);        HRESULT ( STDMETHODCALLTYPE *GetStreamActiveState )(            IVMRVideoStreamControl * This,            /* [out] */ BOOL *lpfActive);        END_INTERFACE    } IVMRVideoStreamControlVtbl;    interface IVMRVideoStreamControl    {        CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRVideoStreamControl_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRVideoStreamControl_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRVideoStreamControl_SetColorKey(This,lpClrKey)	\    (This)->lpVtbl -> SetColorKey(This,lpClrKey)#define IVMRVideoStreamControl_GetColorKey(This,lpClrKey)	\    (This)->lpVtbl -> GetColorKey(This,lpClrKey)#define IVMRVideoStreamControl_SetStreamActiveState(This,fActive)	\    (This)->lpVtbl -> SetStreamActiveState(This,fActive)#define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive)	\    (This)->lpVtbl -> GetStreamActiveState(This,lpfActive)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetColorKey_Proxy(    IVMRVideoStreamControl * This,    /* [in] */ LPDDCOLORKEY lpClrKey);void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetColorKey_Proxy(    IVMRVideoStreamControl * This,    /* [out] */ LPDDCOLORKEY lpClrKey);void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetStreamActiveState_Proxy(    IVMRVideoStreamControl * This,    /* [in] */ BOOL fActive);void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetStreamActiveState_Proxy(    IVMRVideoStreamControl * This,    /* [out] */ BOOL *lpfActive);void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRVideoStreamControl_INTERFACE_DEFINED__ */#ifndef __IVMRSurface_INTERFACE_DEFINED__#define __IVMRSurface_INTERFACE_DEFINED__/* interface IVMRSurface *//* [unique][helpstring][uuid][local][object][local] */EXTERN_C const IID IID_IVMRSurface;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("a9849bbe-9ec8-4263-b764-62730f0d15d0")    IVMRSurface : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked( void) = 0;        virtual HRESULT STDMETHODCALLTYPE LockSurface(            /* [out] */ BYTE **lpSurface) = 0;        virtual HRESULT STDMETHODCALLTYPE UnlockSurface( void) = 0;        virtual HRESULT STDMETHODCALLTYPE GetSurface(            /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;    };#else 	/* C style interface */    typedef struct IVMRSurfaceVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRSurface * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRSurface * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRSurface * This);        HRESULT ( STDMETHODCALLTYPE *IsSurfaceLocked )(            IVMRSurface * This);        HRESULT ( STDMETHODCALLTYPE *LockSurface )(            IVMRSurface * This,            /* [out] */ BYTE **lpSurface);        HRESULT ( STDMETHODCALLTYPE *UnlockSurface )(            IVMRSurface * This);        HRESULT ( STDMETHODCALLTYPE *GetSurface )(            IVMRSurface * This,            /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);        END_INTERFACE    } IVMRSurfaceVtbl;    interface IVMRSurface    {        CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRSurface_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRSurface_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRSurface_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRSurface_IsSurfaceLocked(This)	\    (This)->lpVtbl -> IsSurfaceLocked(This)#define IVMRSurface_LockSurface(This,lpSurface)	\    (This)->lpVtbl -> LockSurface(This,lpSurface)#define IVMRSurface_UnlockSurface(This)	\    (This)->lpVtbl -> UnlockSurface(This)#define IVMRSurface_GetSurface(This,lplpSurface)	\    (This)->lpVtbl -> GetSurface(This,lplpSurface)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRSurface_IsSurfaceLocked_Proxy(    IVMRSurface * This);void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRSurface_LockSurface_Proxy(    IVMRSurface * This,    /* [out] */ BYTE **lpSurface);void __RPC_STUB IVMRSurface_LockSurface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRSurface_UnlockSurface_Proxy(    IVMRSurface * This);void __RPC_STUB IVMRSurface_UnlockSurface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRSurface_GetSurface_Proxy(    IVMRSurface * This,    /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);void __RPC_STUB IVMRSurface_GetSurface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRSurface_INTERFACE_DEFINED__ */#ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__#define __IVMRImagePresenterConfig_INTERFACE_DEFINED__/* interface IVMRImagePresenterConfig *//* [unique][helpstring][uuid][local][object][local] */EXTERN_C const IID IID_IVMRImagePresenterConfig;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("9f3a1c85-8555-49ba-935f-be5b5b29d178")    IVMRImagePresenterConfig : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs(            /* [in] */ DWORD dwRenderFlags) = 0;        virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs(            /* [out] */ DWORD *dwRenderFlags) = 0;    };#else 	/* C style interface */    typedef struct IVMRImagePresenterConfigVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRImagePresenterConfig * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRImagePresenterConfig * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRImagePresenterConfig * This);        HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )(            IVMRImagePresenterConfig * This,            /* [in] */ DWORD dwRenderFlags);        HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )(            IVMRImagePresenterConfig * This,            /* [out] */ DWORD *dwRenderFlags);        END_INTERFACE    } IVMRImagePresenterConfigVtbl;    interface IVMRImagePresenterConfig    {        CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRImagePresenterConfig_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRImagePresenterConfig_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags)	\    (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)#define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags)	\    (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_SetRenderingPrefs_Proxy(    IVMRImagePresenterConfig * This,    /* [in] */ DWORD dwRenderFlags);void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_GetRenderingPrefs_Proxy(    IVMRImagePresenterConfig * This,    /* [out] */ DWORD *dwRenderFlags);void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRImagePresenterConfig_INTERFACE_DEFINED__ */#ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__#define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__/* interface IVMRImagePresenterExclModeConfig *//* [unique][helpstring][uuid][local][object][local] */EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("e6f7ce40-4673-44f1-8f77-5499d68cb4ea")    IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig    {    public:        virtual HRESULT STDMETHODCALLTYPE SetXlcModeDDObjAndPrimarySurface(            /* [in] */ LPDIRECTDRAW7 lpDDObj,            /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0;        virtual HRESULT STDMETHODCALLTYPE GetXlcModeDDObjAndPrimarySurface(            /* [out] */ LPDIRECTDRAW7 *lpDDObj,            /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0;    };#else 	/* C style interface */    typedef struct IVMRImagePresenterExclModeConfigVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVMRImagePresenterExclModeConfig * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVMRImagePresenterExclModeConfig * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVMRImagePresenterExclModeConfig * This);        HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )(            IVMRImagePresenterExclModeConfig * This,            /* [in] */ DWORD dwRenderFlags);        HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )(            IVMRImagePresenterExclModeConfig * This,            /* [out] */ DWORD *dwRenderFlags);        HRESULT ( STDMETHODCALLTYPE *SetXlcModeDDObjAndPrimarySurface )(            IVMRImagePresenterExclModeConfig * This,            /* [in] */ LPDIRECTDRAW7 lpDDObj,            /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);        HRESULT ( STDMETHODCALLTYPE *GetXlcModeDDObjAndPrimarySurface )(            IVMRImagePresenterExclModeConfig * This,            /* [out] */ LPDIRECTDRAW7 *lpDDObj,            /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);        END_INTERFACE    } IVMRImagePresenterExclModeConfigVtbl;    interface IVMRImagePresenterExclModeConfig    {        CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVMRImagePresenterExclModeConfig_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVMRImagePresenterExclModeConfig_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags)	\    (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)#define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags)	\    (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)#define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)	\    (This)->lpVtbl -> SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)#define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)	\    (This)->lpVtbl -> GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy(    IVMRImagePresenterExclModeConfig * This,    /* [in] */ LPDIRECTDRAW7 lpDDObj,    /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy(    IVMRImagePresenterExclModeConfig * This,    /* [out] */ LPDIRECTDRAW7 *lpDDObj,    /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ */#ifndef __IVPManager_INTERFACE_DEFINED__#define __IVPManager_INTERFACE_DEFINED__/* interface IVPManager *//* [unique][helpstring][uuid][local][object][local] */EXTERN_C const IID IID_IVPManager;#if defined(__cplusplus) && !defined(CINTERFACE)    MIDL_INTERFACE("aac18c18-e186-46d2-825d-a1f8dc8e395a")    IVPManager : public IUnknown    {    public:        virtual HRESULT STDMETHODCALLTYPE SetVideoPortIndex(            /* [in] */ DWORD dwVideoPortIndex) = 0;        virtual HRESULT STDMETHODCALLTYPE GetVideoPortIndex(            /* [out] */ DWORD *pdwVideoPortIndex) = 0;    };#else 	/* C style interface */    typedef struct IVPManagerVtbl    {        BEGIN_INTERFACE        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(            IVPManager * This,            /* [in] */ REFIID riid,            /* [iid_is][out] */ void **ppvObject);        ULONG ( STDMETHODCALLTYPE *AddRef )(            IVPManager * This);        ULONG ( STDMETHODCALLTYPE *Release )(            IVPManager * This);        HRESULT ( STDMETHODCALLTYPE *SetVideoPortIndex )(            IVPManager * This,            /* [in] */ DWORD dwVideoPortIndex);        HRESULT ( STDMETHODCALLTYPE *GetVideoPortIndex )(            IVPManager * This,            /* [out] */ DWORD *pdwVideoPortIndex);        END_INTERFACE    } IVPManagerVtbl;    interface IVPManager    {        CONST_VTBL struct IVPManagerVtbl *lpVtbl;    };#ifdef COBJMACROS#define IVPManager_QueryInterface(This,riid,ppvObject)	\    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IVPManager_AddRef(This)	\    (This)->lpVtbl -> AddRef(This)#define IVPManager_Release(This)	\    (This)->lpVtbl -> Release(This)#define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex)	\    (This)->lpVtbl -> SetVideoPortIndex(This,dwVideoPortIndex)#define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex)	\    (This)->lpVtbl -> GetVideoPortIndex(This,pdwVideoPortIndex)#endif /* COBJMACROS */#endif 	/* C style interface */HRESULT STDMETHODCALLTYPE IVPManager_SetVideoPortIndex_Proxy(    IVPManager * This,    /* [in] */ DWORD dwVideoPortIndex);void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);HRESULT STDMETHODCALLTYPE IVPManager_GetVideoPortIndex_Proxy(    IVPManager * This,    /* [out] */ DWORD *pdwVideoPortIndex);void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(    IRpcStubBuffer *This,    IRpcChannelBuffer *_pRpcChannelBuffer,    PRPC_MESSAGE _pRpcMessage,    DWORD *_pdwStubPhase);#endif 	/* __IVPManager_INTERFACE_DEFINED__ *//* Additional Prototypes for ALL interfaces */unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * );unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * );unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * );/* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Proxy(    ICaptureGraphBuilder * This,    /* [unique][in] */ const GUID *pCategory,    /* [in] */ IBaseFilter *pf,    /* [in] */ REFIID riid,    /* [out] */ void **ppint);/* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Stub(    ICaptureGraphBuilder * This,    /* [unique][in] */ const GUID *pCategory,    /* [in] */ IBaseFilter *pf,    /* [in] */ REFIID riid,    /* [out] */ IUnknown **ppint);/* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Proxy(    ICaptureGraphBuilder2 * This,    /* [in] */ const GUID *pCategory,    /* [in] */ const GUID *pType,    /* [in] */ IBaseFilter *pf,    /* [in] */ REFIID riid,    /* [out] */ void **ppint);/* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Stub(    ICaptureGraphBuilder2 * This,    /* [in] */ const GUID *pCategory,    /* [in] */ const GUID *pType,    /* [in] */ IBaseFilter *pf,    /* [in] */ REFIID riid,    /* [out] */ IUnknown **ppint);/* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Proxy(    IKsPropertySet * This,    /* [in] */ REFGUID guidPropSet,    /* [in] */ DWORD dwPropID,    /* [size_is][in] */ LPVOID pInstanceData,    /* [in] */ DWORD cbInstanceData,    /* [size_is][in] */ LPVOID pPropData,    /* [in] */ DWORD cbPropData);/* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Stub(    IKsPropertySet * This,    /* [in] */ REFGUID guidPropSet,    /* [in] */ DWORD dwPropID,    /* [size_is][in] */ byte *pInstanceData,    /* [in] */ DWORD cbInstanceData,    /* [size_is][in] */ byte *pPropData,    /* [in] */ DWORD cbPropData);/* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Proxy(    IKsPropertySet * This,    /* [in] */ REFGUID guidPropSet,    /* [in] */ DWORD dwPropID,    /* [size_is][in] */ LPVOID pInstanceData,    /* [in] */ DWORD cbInstanceData,    /* [size_is][out] */ LPVOID pPropData,    /* [in] */ DWORD cbPropData,    /* [out] */ DWORD *pcbReturned);/* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Stub(    IKsPropertySet * This,    /* [in] */ REFGUID guidPropSet,    /* [in] */ DWORD dwPropID,    /* [size_is][in] */ byte *pInstanceData,    /* [in] */ DWORD cbInstanceData,    /* [size_is][out] */ byte *pPropData,    /* [in] */ DWORD cbPropData,    /* [out] */ DWORD *pcbReturned);/* end of Additional Prototypes */#ifdef __cplusplus}#endif#endif